在.htaccess中使用mod-rewrite如何在保持查询字符串前面的同时向网址添加哈希?我尝试的所有内容都将查询字符串附加到结尾,然后将其作为哈希的一部分。
这就是我想要做的事情:
http://example.com/order_now?utm_campaign=eblast082814
重定向到
http://example.com/index.php?utm_campaign=eblast082814#order_now
这是我目前的非工作.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)?$ /index.php?#$1 [QSA,R,NE,L]
上面错误地重定向到
http://example.com/index.php?#order_now&utm_campaign=eblast082814
答案 0 :(得分:2)
似乎默认情况下在#order_now
之后添加查询字符串。
这是一个解决方案(通过捕获查询字符串并手动添加)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([^/\.]+)?$ /index.php?%1#$1 [R,NE,L]