宗小宗-PHP程序猿

欢迎各位朋友前来,如果我的文章中有不对的地方,还望指正;如需转载,请注明原处

.htaccess重写URL讲解

使用ThinkPHP和Laravel等框架的都知道,所以的请求都需要经过index.php文件入口,无论你的URI是什么。

当然除了访问的是静态文件或者访问路径的文件真实存在,例如你访问xxx.com/home/page.html

首先,web服务器先去更目录找home文件夹下面的page.html,如果存在就访问这个文件,如果不存在就重新URL,进入index.php大入口

当然,这一切都是规则制定的。请看下面的.htaccess文件【不记得怎么写我教你,.ht+access 】

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

 

RewriteCond的 %{REQUEST_FILENAME} !-d 的意思是访问的路径不是一个目录时RewriteRule才能生效

RewriteCond的 %{REQUEST_FILENAME} !-f  的意思是访问的路径不是一个文件时RewriteRule才能生效

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 的意思是将访问路径重写到index.php/的后面,最为参数传递给index.php文件

 

详细的RewriteCond的规则请看这篇博文:http://blog.sina.com.cn/s/blog_545759110100h5g4.html

详细的RewriteRule的规则请看这篇博文:http://blog.csdn.net/paulluo0739/article/details/17711851

posted @ 2016-08-17 23:05  宗小宗  阅读(18619)  评论(0编辑  收藏  举报