欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析ThinkPHP中的pathinfo模式和URL重写

程序员文章站 2023-11-16 22:37:40
复制代码 代码如下:http://servername/appname/module/action/id/1/ 这个就是pathinfo模式 在不考虑路由的情况下,第一...

复制代码 代码如下:

http://servername/appname/module/action/id/1/

这个就是pathinfo模式

在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如:

复制代码 代码如下:

http://servername/appname/module/action/year/2008/month/09/day/21/

通常的url里面含有index.php,为了达到更好的seo效果可能需要去掉url里面的index.php ,通过url重写的方式可以达到这种效果,通常需要服务器开启url_rewrite模块才能支持。
下面是apache的配置过程,可以参考下:
1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、allowoverride none 将none改为 all
3、确保url_model设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

复制代码 代码如下:

<ifmodule mod_rewrite.c>
rewriteengine on
rewritecond %{request_filename} !-d
rewritecond %{request_filename} !-f
rewriterule ^(.*)$ index.php/$1 [qsa,pt,l]
</ifmodule>

对于重来没接触过.htacces文件的可以百度一些,这里提醒一下,保存的文件名就是 .htaccess,可能看起来只有后缀,就是这样,别又在前面加个  ***.htaccess。

重启apache之后,原来的
http://servername/index.php/blog/read/id/1
就可以通过访问
http://servername/blog/read/id/1
简化了url地址