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

时间: 2024-12-15 08:26:06

ThinkPHP 隐藏URL中的 index.php的相关文章

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来. .htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置.我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 in

IIS 环境 CodeIgniter 隐藏 URL 中的 index.php

在 IIS 环境搭建好 CI 框架后,默认的URL如下,其中的“index.php”甚是影响美观. 去掉的方法也较为简单.首先参照 CI 说明( https://codeigniter.org.cn/user_guide/general/urls.html#url-index-php ),移除链接中的URL地址. 默认情况,你的 URL 中会包含 index.php 文件: example.com/index.php/news/article/my_article 如果你的 Apache 服务器

ThinkPHP去掉URL中的index.php

1,先确认你有没mod_rewrite.so模块 /usr/lib/apache2/modules/mod_rewrite.so 然后在httpd.conf最后一行加上(我不加也行,自己都奇怪) LoadModule rewrite_module modules/mod_rewrite.so 重启/etc/init.d/apache2 restart 2,将/etc/apache2/sites-enabled/000-default中的 AllowOverride None 将None改为 Al

ThinkPHP去除url中的index.php

例如你的原路径是 http://localhost/app/index.php/module/action/var/value/那么现在的地址是 http://localhost/app/module/action/var/value/ 去除index.php 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowO

thinkPHP隐藏url地址栏中的index.php方法

http://localhost/workSpace/First/index.php/Home/Index/index隐藏上面url中的index.php方法如下: 第一步.删除apache配置文件(httpd.conf)中以mod_rewrite.so结尾行前的#号第二部.在index.php文件同级目录下新建.htaccess文件文件内容如下:<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME}

CI框架 .htaccess 隐藏url中index.php的解决

CodeIgniter(以下简称"CI")是一款国外优秀的PHP轻量级MVC框架,它支持PHP4和PHP5,是开发中小型可拓展性需求高的Web应用程序的利器.目前你所见到的这个博客程序,正是采用CI进行的编写. 秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用.也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式: http://localhost/index.php/blog/logs/this_is_a_test_en

thinkphp 去掉URL 里面的index.php(?s=)

例如你的原路径是 http://localhost/test/index.php/home/goods/index.html 那么现在的地址是 http://localhost/test/home/goods/index.html 如何去掉index.php呢?1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowO

thinkphp 去掉URL 里面的index.php

例如你的原路径是 http://localhost/test/index.php/home/goods/index.html 那么现在的地址是 http://localhost/test/home/goods/index.html 如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.Allow

nginx去掉url中的index.php

使用情境:我想输入www.abc.com/a/1后,跳转到www.abc.com/index.php/a/1 配置Nginx.conf在你的虚拟主机下添加:  location / {      if (!-e $request_filename){           rewrite ^/(.*)$ /index.php/$1 last;      } } 如果你的项目入口文件在一个子目录内,则: location /目录/ {      if (!-e $request_filename){