2012-01-26 35 views
2

如何使用htaccess的搭上了友好的URL像htaccess以及PHP解剖REQUEST_URI或QUERY_STRING

/error/access/notallowed

,並打破它

error.php?$1=$2

,但真正的問題是如果我有另一個url怎麼辦

/something/name/joe/address/123_Maples_Lane/city/somewhere

並且如果所有奇數段都是偶數段的關鍵值對,則動態地執行相同的操作。

我需要PHP來分段分割還是htaccess可以動態創建查詢?

回答

2

apache不能用任意數量的參數創建重寫,因爲它不得不使用PCRE表達式。你將不得不使用PHP來做到這一點。然而,阿帕奇,仍然參與其中:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT] 

這將路線都不存在請求index.php/並請求將是路徑。然後,您可以分解index.php上的路徑。

+0

啊這就是我在想什麼。所以從你在index.php中的例子中我將分割$ _GET?或者該請求將如何看起來像?我會拆分QUERY_STRING嗎? – Eli

+0

你會分裂'_SERVER [REQUEST_URI]'。如果'_SERVER [PATH_INFO]'可用,那更好,但它並不總是可用的。 –

+0

謝謝,我會試試看看我得到了什麼。 – Eli