可选查询参数的Apache重写规则
即使经过长时间的阅读,Apache rewriterule文档仍然让我感到困惑 目前我正在使用以下.htaccess URL重写规则:可选查询参数的Apache重写规则,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,即使经过长时间的阅读,Apache rewriterule文档仍然让我感到困惑 目前我正在使用以下.htaccess URL重写规则: RewriteRule ^([_0-9a-zA-Z-]+)\.html$ index.php?a=p&p=$1 [nc] 这重写了如下内容 http://www.website.com/thepagename.html 进入 这很好用 现在我需要修改它,以允许一个可选的查询参数,该参数可以附加到原始(未写入的)URL上,也可以不附加。例如: http
RewriteRule ^([_0-9a-zA-Z-]+)\.html$ index.php?a=p&p=$1 [nc]
这重写了如下内容
http://www.website.com/thepagename.html
进入
这很好用
现在我需要修改它,以允许一个可选的查询参数,该参数可以附加到原始(未写入的)URL上,也可以不附加。例如:
http://www.website.com/thepagename.html?req=login
甚至
http://www.website.com/thepagename.html?req=login&usr=johndoe
必须重写为:
http://www.website.com/index.php?a=p&p=thepagename&req=login
及
分别在不破坏原始重写的情况下(即没有附加到未写入URL上的可选查询参数)
尽管我尽了最大努力,我还是不能写出正确的语法。谁能给我指出正确的方向吗
Tnx
//FvW您只需添加ˋQSA`标志(查询字符串追加)
更多信息(和示例)谢谢!我来试一试,让你知道会发生什么!很高兴它对你有用。如果有帮助的话,别忘了接受我的回答
http://www.website.com/index.php?a=p&p=thepagename&req=login
http://www.website.com/index.php?a=p&p=thepagename&req=login&user=johndoe
RewriteRule ^([_0-9a-zA-Z-]+)\.html$ index.php?a=p&p=$1 [L,QSA,NC]