可选查询参数的Apache重写规则

可选查询参数的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

即使经过长时间的阅读,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://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]