htaccess和php解析REQUEST_URI或QUERY_STRING

时间:2012-01-26 18:12:15

标签: php .htaccess

我如何使用htaccess来捕获像

这样的友好网址

/error/access/notallowed

并将其分解为

error.php?$1=$2

但真正的问题是,如果我有另一个网址

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

如果所有奇数段都是偶数段的键值对,则动态地做同样的事情。

我需要PHP来分段进行分割还是htaccess可以动态创建查询?

1 个答案:

答案 0 :(得分:2)

apache无法使用任意数量的参数创建重写,因为它必须处理PCRE表达式。你必须使用PHP来做到这一点。但是,apache仍然参与其中:

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

这会将所有不存在的请求路由到index.php/,请求将是路径。然后,您可以在index.php上分解路径。