使用 thinkphp 开发的应用的 url 中通常都会带个 index.php ,如果我们需要伪静态或者做 seo 优化的时候,这个是非常不好看也没有意义的。那么我们该如何去除 thinkphp 应用 url 中的 index.php 呢?
对于这个问题我们可以通过url重写的方式解决,当然这个是需要服务器开启 url_rewrite 模块才可以的。所以进行下面的步骤前请确定你的服务器是否已经开启了或者是否能开启 url_rewrite 。
(1)如果没有开启 url_rewrite,则你需要找到 apache 中的 httpd.conf 这个配置文件,找到下面这行:
#loadmodule rewrite_module modules/mod_rewrite.so
把前面的警号去掉,然后继续找到下面这句:
allowoverride none
将所有找到的以上语句都改为:allowoverride all
以上修改完毕然后重启 apache 服务器即可。
(2)在应用的根目录下面新建一个 .htaccess 文件。在文件里面加入如下代码:
rewriteengine onrewritecond %{request_filename} !-drewritecond %{request_filename} !-frewriterule ^(.*)$ index.php/$1 [qsa,pt,l]
其实以上就已经实现了去除 url 中的 index.php 字符直接访问应用了。但是仅仅以上两步操作还会出现的一个问题就是 thinkphp 的常量 __url__ 中还是会自动带上 index.php 这段字符串,彻底解决这个问题的办法是在项目的配置文件里加上如一条如下配置:
'url_model'=>'2'
至此 thinkphp 应用 url 中的 index.php 就彻底无影无踪了。
注意:在 windows 下不能直接建立 .htaccess 这种文件,你可以先随便建立一个文件(如:www.phpernote.com.txt),然后在dos里面输入如下命令:
rename www.phpernote.com.txt .htaccess
您可能感兴趣的文章如何去除codeigniter开发的网站url里面的index.php字符串php在引号前面添加反斜杠的原因及php去除反斜杠的办法,三种办法关闭php魔术引号thinkphp 的 action 控制器中的系统常量总结thinkphp打印最后一条sql语句thinkphp中execute和query方法的区别php bom去除工具,php批量去除bom的代码thinkphp模板中判断volist循环的最后一条记录thinkphp like 查询
http://www.bkjia.com/phpjc/764144.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/764144.htmltecharticle使用 thinkphp 开发的应用的 url 中通常都会带个 index.php ,如果我们需要伪静态或者做 seo 优化的时候,这个是非常不好看也没有意义的。那么...