使用此网址http://www.example.com/cp/pending/thepage
,当我$_GET['p'];
时,我应该thepage
返回。什么都没有归还,我该如何解决?
这是mod重写。
RewriteRule ^cp/([A-Za-z0-9-]+)(&type=[A-Za-z0-9-]+)?(/[A-Za-z0-9-]+)?(&to=[A-Za-z0-9-]+)?(&r=[A-Za-z0-9-]+)?(&g=[A-Za-z0-9-]+)?(&page=[A-Za-z0-9-]+)?/?$ /cp.php?o=$1&type=$2&c=$3&p=$4&r=$5&g=$6&page=$7 [L]
这是php
$p = $_GET['p'];
echo $p;
答案 0 :(得分:1)
查询字符串不是URL的一部分。
您的代码应如下所示:
RewriteCond %{QUERY_STRING} RegexHere
RewriteRule URLRegexHere NewURL
如果您使用URL的任何部分来创建新的查询字符串,则需要使用[QSA]
标志来附加其他参数。 E.g:
RewriteRule ^cp/pending/([^/])/?$ page.php?page=$1 [L,QSA]
有关Mod_Rewrite here的更多信息。
此外,正如$ n反向引用是针对RewriteRule正则表达式中匹配的模式一样,%n反向引用用于RewriteCond正则表达式中的模式匹配。