查询字符串和Mod ReWrite

3

我对ReWrite并不是太有经验(也不是专家),所以希望有人能帮助我。

RewriteRule ^$ index.php?page=home [NC]
RewriteRule ^adm$ index.php?page=adm_home [NC]
RewriteRule ^adm/stats index.php?page=adm_stats [NC]

以下是我的 .htaccess 文件片段。正如您所看到的,当有人访问 http://www.example.com/adirectory/ 时,它实际上调用的是 index.php?page=home,同样地,如果有人去 http://www.example.com/adirectory/adm/,它仍然会在 "adirectory" 中调用 index.php?page=adm_home。
我想要实现的是:我想能够在我的页面上显示警报,并且为此我想简单地添加 alert=n(其中 n 是一个数字),因此重定向为 index.php?page=home&alert=n。
但是,我无法理解如何做到这一点,正则表达式让我困惑不解。寻求您的帮助。

你想在哪里能够添加"alert=n"? - Gumbo
好的,我没有解释清楚 :)它会附加到末尾:http://www.example.com/adirectory/?alert=n 或 http://www.example.com/adirectory/adm/?alert=n如果可能的话... - jakeisonline
1个回答

6
您可以设置QSA标志,自动将原始请求的查询字符串附加到新的查询字符串中:
RewriteRule ^$ index.php?page=home [L,QSA]
RewriteRule ^adm$ index.php?page=adm_home [L,QSA]
RewriteRule ^adm/stats$ index.php?page=adm_stats [L,QSA]

我一直在解析 $_SERVER 变量,以便自己提取这些信息。+1 - Allain Lalonde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接