thinkphp 如何去除url中的index.php

栏目: 编程语言 发布于: 2014-05-01 11:13:59

使用 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 文件。在文件里面加入如下代码:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

其实以上就已经实现了去除 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.php230.com]
本文标题:thinkphp 如何去除url中的index.php
IT技术书籍推荐:
高性能MySQL(第3版)
高性能MySQL(第3版)
施瓦茨 (Baron Schwartz) (作者), 扎伊采夫 (Peter Zaitsev) (作者)
《高性能MySQL(第3版)》是MySQL 领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新MySQL5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖MySQL架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的MySQL和MySQL相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。 《高性能MySQL(第3版)》不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获。
最新互联网资讯