Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache .htaccess重定向在保留查询字符串的同时添加哈希_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache .htaccess重定向在保留查询字符串的同时添加哈希

Apache .htaccess重定向在保留查询字符串的同时添加哈希,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在.htaccess中使用mod rewrite如何在保留查询字符串的同时向url添加哈希?我尝试过的所有操作都会将查询字符串追加到末尾,从而使其成为散列的一部分 这就是我想做的: http://example.com/order_now?utm_campaign=eblast082814 重定向到 http://example.com/index.php?utm_campaign=eblast082814#order_now 这是我当前的非工作状态。htaccess: RewriteEng

在.htaccess中使用mod rewrite如何在保留查询字符串的同时向url添加哈希?我尝试过的所有操作都会将查询字符串追加到末尾,从而使其成为散列的一部分

这就是我想做的:

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

默认情况下,查询字符串似乎是在
#order\u之后添加的

下面是一个解决方案(通过捕获查询字符串并手动添加)


我只需要从您的代码中删除[QSA](否则它会再次将查询字符串追加到末尾),它工作得非常好。谢谢对不起,我忘记从我的答案中删除
QSA
。不客气,很高兴它起作用了。如果我的答案有用的话,别忘了验证一下
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([^/\.]+)?$ /index.php?%1#$1 [R,NE,L]