ThinkPHP 隐藏URL中的 index.php
去掉 URL 中的 index.php
通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。
例如原来的 URL 为:
http://127.0.0.1/index.php/Index/insert
去掉 index.php 之后变为:
http://127.0.0.1/Index/insert
第一步:更改Apache的httpd.conf 配置文件
1、确认加载了mod_rewrite.so 模块(将如下配置前的 # 号去掉)
LoadModule rewrite_module modules/mod_rewrite.so
2、AllowOverride none 改 AllowOverride ALL
保存httpd.conf,重启Apache服务器;
第二步、添加 .htaccess 文件 Rewrite 规则
如果是Apache则需要在入口文件的同级添加.htaccess文件,内容如下:
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
第三步、更改项目配置文件
编辑项目配置文件 Conf/config.php ,将 URL 模式配置为 2(Rewrite模式):
'URL_MODEL'=>2,
至此,各个配置已经完成。保存各配置文件后,重启 Apache 服务器。
内容参考:
http://www.5idev.com/p-thinkphp_htaccess_rewrite.shtml
http://jingyan.baidu.com/article/6079ad0e86ec9928ff86dbe0.html?st=2&os=0&bd_page_type=1&net_type=2