什麼是php的路由機制(推薦學習:PHP影片教學)
1.路由機制就是把某一個特定形式的URL結構中提煉出來系統對應的參數。
舉個例子,如:
http://main.wopop.com/article/1 其中:/article/1 -> ?_m=article&id=1。<br/>
2、然後將擁有對應參數的URL轉換成特定形式的URL結構,是上面的過程的逆向過程。
PHP的URL路由方式
#總體來說就是:取得路徑資訊->處理路徑資訊
URL路由方式:
第一種是透過url參數進行映射的方式,通常是兩個參數,分別代表控制器類別和方法例如index.php?c=index&m=index映射到的是index控制器的index方法。
第二種,是透過url-rewrite的方式,這樣的好處是可以實現對非php結尾的其他後綴進行映射,當然透過rewrite也可以實現第一種方式,不過純粹使用rewrite的也比較常見,一般需要設定apache或nginx的rewrite規則
<IfModule mod_rewrite.c> <br/> RewriteEngine On <br/> RewriteBase / <br/> RewriteRule ^index\.php$ - [L] <br/> RewriteCond %{REQUEST_FILENAME} !-f <br/> RewriteCond %{REQUEST_FILENAME} !-d <br/> RewriteRule . /index.php [L] <br/></IfModule><br/>
第三種,就是透過pathinfo的方式,所謂的pathinfo,就是形如這樣的url。 xxx.com/index.php/c/index/aa/cc,apache在處理這個url的時候會把index.php後面的部分輸入到環境變數$_SERVER['PATH_INFO'],它等於/c/index/ aa/cc。
然後我們的路由器再透過解析這個字串進行分析就可以了,後面的部分放入到參數什麼地方的,就依據各個框架不同而不同了。
以上是php路由原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!