使用ThinkPHP和Laravel等框架的都知道,因此的請求都須要通過index.php文件入口,不管你的URI是什麼。php
固然除了訪問的是靜態文件或者訪問路徑的文件真實存在,例如你訪問xxx.com/home/page.htmlhtml
首先,web服務器先去更目錄找home文件夾下面的page.html,若是存在就訪問這個文件,若是不存在就從新URL,進入index.php大入口web
固然,這一切都是規則制定的。請看下面的.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才能生效.net
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 的意思是將訪問路徑重寫到index.php/的後面,最爲參數傳遞給index.php文件code
詳細的RewriteCond的規則請看這篇博文:http://blog.sina.com.cn/s/blog_545759110100h5g4.htmlhtm
詳細的RewriteRule的規則請看這篇博文:http://blog.csdn.net/paulluo0739/article/details/17711851blog