如果在组上启用了多视图的/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']
之外我还可以在启用多视图的情况下获取吗?
答案 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.