我想要做的是重定向
到
http://example.com/this/that/?which=those
这就是我的尝试;
RewriteRule ^sample.*$ http://example.com/this/that/?which=those [R=301,L]
但它没有参数重定向到http://example.com/this/that/。
只有当我在网址后面写一些内容(随机)时,它才会正确重定向,包括参数。
我做错了什么?非常感谢任何帮助!!
答案 0 :(得分:1)
您需要的只是这条规则:
RewriteRule ^sample/?$ /this/that/?which=those [R=302,L,NC,QSA]
在测试之前,请确保清除浏览器缓存并重新启动浏览器。
重要提示:请记住在测试mod_rewrite规则时不要使用R=301 (Permanent Redirect)
。只有在您确认其有效后,才能将R=302 (Temporary Redirect)
更改为R=301 (Permanent Redirect)
答案 1 :(得分:0)
将您的规则更改为:
RewriteRule ^sample(.*)? http://example.com/this/that/?which=those [R=301,L]
在这里,我们通过捕获它并使用可选的正则表达式标志来使通配符可选:(.*)?
因此,sample
和sample/test/hello
都会重定向。