thinkphp 重写

简介: 我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如:   RewriteEngine on  RewriteCond %{REQUEST_FILENAME} !-d  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]   它的作用就是设置URL重写以隐藏URL中含有的index.php。

我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如:


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

 

它的作用就是设置URL重写以隐藏URL中含有的index.php。一般来说URL过长或者动态化的URL都不利于SEO因此隐藏的目的就是要达到更好的SEO效果。
     明白了.htaccess文件的作用,接下来就是让它工作起来。
要使.htaccess文件起作用,通常需要服务器开启URL_REWRITE模块才能支持。


下面是Apache的配置过程:

1、httpd.conf配置文件中加载了mod_rewrite.so模块
    在httpd.conf配置文件搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)去掉前面的#

2、AllowOverride None 将None改为 All
    在httpd.conf配置文件找到“AllowOverride None”将None改为 All。这点值得注意的是,“AllowOverride None”在文件中能找到几处,但要改的却只有一处。如图所示:

3、确保项目(一般是前台项目)配置文件的URL_MODEL设置为2

4、把.htaccess文件放到入口文件的同级目录下

目录
相关文章
|
6月前
Thinkphp5实现接口嵌套
Thinkphp5实现接口嵌套
PHP中为什么静态类是不能被实例化的类?底层原理是什么?
PHP中为什么静态类是不能被实例化的类?底层原理是什么?
PHP为什么要有继承?底层原理是什么?
PHP为什么要有继承?底层原理是什么?
108 0
PHP为什么一个类只能继承一个抽象类?底层原理是什么?
PHP为什么一个类只能继承一个抽象类?底层原理是什么?
182 0
|
存储 PHP
PHP重的重载和重写的区别是什么?底层原理是什么?
PHP重的重载和重写的区别是什么?底层原理是什么?
118 0
PHP的重写和重载是干什么的?区别是什么?底层原理是什么?
PHP的重写和重载是干什么的?区别是什么?底层原理是什么?
106 0
为什么PHP的一个对象必须要有属性和方法?底层原理是什么?
为什么PHP的一个对象必须要有属性和方法?底层原理是什么?
|
PHP 开发者
PHP 继承——重写 Override|学习笔记
快速学习 PHP 继承——重写 Override
407 0
PHP 继承——重写 Override|学习笔记
|
PHP
【PHP报错集锦】继承抽象类时的报错
【PHP报错集锦】继承抽象类时的报错
113 0
【PHP报错集锦】继承抽象类时的报错
|
PHP 数据安全/隐私保护
【PHP面向对象】接口跟抽象类的区别和各自的用法
【PHP面向对象】接口跟抽象类的区别和各自的用法
115 0
【PHP面向对象】接口跟抽象类的区别和各自的用法