使用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