php框架

 首页 > php框架 > ThinkPHP > thinkphp 如何去除url中的index.php

thinkphp 如何去除url中的index.php

分享到:
【字体:
导读:
          使用 thinkphp 开发的应用的 url 中通常都会带个 index.php ,如果我们需要伪静态或者做 SEO 优化的时候,这个是非常不好看也没有意义的。那么我们该如何去除 thinkphp 应用 url 中的 index.p...

使用 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 on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ 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

分享到:
THINKPHP内容分页代码分享
在使用Thinkphp开发的内容管理系统里面,很多东西都要自己开发,内容分页当然也是要自己开发的,下面是我根据查资料自己整理的方法: 1、首先是在后台编辑内容的时候需要插入分页符,不同的编辑器分页符自然也不同了 2、然后就是读取文章内容的时候,要根据分页符来把内容分割成多个数组然,这里需要传值当前是第几...
ThinkPHP3 伪静态和URL重写 多重匹配的简...
根据ThinkPHP3.0的手册URL重写的那一节配置Apache。 然后再网站根目录下放置.htaccess文件,内容如手册所提示的一样 win2003的空间iis6不支持.htaccess,尽可能选用linux系统的服务器   Htaccess代码         RewriteEngine on      ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……