ThinkPHP的URL中index.php重写

基于ThinkPHP框架开发的web系统,通常的URL里含有index.php,为了达到更好的SEO效果可能需要去掉URL里的index.php,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。

下面是Apache的配置过程,可以参考下:

1httpd.conf配置文件中加载了mod_rewrite.so模块

2AllowOverride NoneNone改为All

3、确保URL_MODEL设置为2(注意这里URL_MODEL在配置文件中添加修改)

4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>

重启Apache之后,原来的

http://serverName/index.php/Blog/read/id/1

就可以通过访问

http://serverName/Blog/read/id/1

简化了URL地址。

数据来源:Thinkphp完全开发手册。