Apache - 重定向到相同的URL但附加了查询字符串

时间:2015-08-21 10:39:01

标签: regex apache .htaccess mod-rewrite

我试图在Apache上执行重写规则,在那里重写url以将查询字符串附加到结尾:

http://example.org/page1.aspx

转到

http://example.org/page1.aspx?query=12345

问题在于我应用此规则时:

RewriteRule ^\/page1.aspx$ http://example.org.aspx?query12345 [NC,L,R=301]

我最终得到了一个重定向循环。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您需要使用条件来检查查询字符串是否为空:

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/?page1\.aspx$ %{REQUEST_URI}?query=12345 [NC,L,R=301]

确保在测试之前清除浏览器缓存。