我正在研究螺旋规则并尝试了各种组合,但它们无法正常工作
我想要解决以下网址,
可以是这个
www.test.com/myownpages/
或
www.test.com/myownpages
www.test.com/myownpages/?value1=test2&value2=test2
应该解决
$1/test.aspx [NC]
如果有人在myownpages之后给出了某些东西,它应该不起作用
www.test.com/myownpages/test (This shouldn't work)
到目前为止尝试了以下
RewriteRule ^(.*)(\/\myownpages\/)(.*)(\?)?(.+)?$ $1/test.aspx [NC]
Anyhelp将不胜感激
由于
答案 0 :(得分:1)
我对这些重写规则不太熟悉,但也许我可以帮助正则表达式。当我读它时,你想要匹配任何以“/ myownpages”,“/ myownpages /”或“/ myownpages /?anything”结尾的字符串,并在此之前捕获该部分。 我用
^(.*)/myownpages(/([?].+)?)?$
得到这个。 See it in action at RegExr.如果你需要逃避正斜杠,那就变成了。
^(.*)\/myownpages(\/([?].+)?)?$
请注意,这不会保留查询字符串中的值;它会将www.test.com/myownpages/?value1=test2&value2=test2
重写为www.test.com/test.aspx
。
答案 1 :(得分:0)
如果您想从/ myownpages重写(非重定向) - > /myownpages/test.aspx,尝试使用:
RewriteEngine on
RewriteBase /
RewriteRule myownpages/?$ /myownpages/test.aspx [NC,QSA,L]
QSA-flag自动将查询字符串附加到源路径。