2012-01-26 34 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