使用多视图传递的任何参数?

时间:2011-09-27 14:40:31

标签: php apache parameter-passing multiviews

如果在组上启用了多视图的/group/14/,我会重定向到/group.php,但除了14变量之外,$_SERVER是否以任何形式传递给PHP?理想情况下,我可以在某种查询字符串中得到它。我阅读了Content Negotiation文章的部分内容,但是 我似乎无法找到任何迹象表明情况。

编辑:无论出于何种原因,上述内容尚不清楚。让我再试一次。

group.php想要一个像group.php?id=14这样的群组ID。通常,我会使用URL重写将/group/14/重写为/group.php?id=14。但是,在这种情况下,我启用了多视图,并且不会触发URL重写。因此,/group/14/会被发送到/group.php,但不会将14作为查询字符串发送。除了从14解析$_SERVER['REQUESTED_URI']之外我还可以在启用多视图的情况下获取吗?

1 个答案:

答案 0 :(得分:2)

此规则将匹配:

RewriteRule ^group.php/(.*)$ ./group.php?id=$1 [L,NE]

启用多视图会将group/14转换为group.php/14(其中${PATH_INFO}为'/ 14',这比其他$ _SERVER变量更智能,但这样是另一个问题)。在第一次apache内部重写(从多视图)之后,再次运行rewriteRule,然后您可以捕获group.php / 14.