2014-09-22 76 views
1

我有以下网址:301重定向查询字符串和锚

http://www.current-domain.com/register?tabs=2#tabs

我需要这个重定向到另一个网址上一个新的域

http://www.new-domain.com/register#register-form

我已经调查301重定向并尝试以下操作:

Redirect 301 /register?tabs=2#tabs http://www.new-domain.com/register#register-form

问题是,当我击中了当前的URL,新的URL是:

http://www.new-domain.com/register#register-form?tabs=4这是不正确

任何帮助深表感谢

感谢

+0

可以匹配'http://www.current- domain.com/register?tabs = 2'没有锚? – anubhava 2014-09-22 10:46:01

+0

它需要锚点,因为它们匹配一些javascript,锚定到某些文本的新重定向。 – 2014-09-22 10:47:25

+1

锚甚至没有传递到服务器,因此您不能在服务器端伪指令(如'mod_rewrite')上执行此操作。最好只通过Javascript来处理它。 – anubhava 2014-09-22 10:53:57

回答

0

您可以使用此代码在DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(www\.)?current-domain\.com$ [NC] 
RewriteCond %{QUERY_STRING} ^tabs=2$ [NC] 
RewriteRule ^register/?$ http://www.new-domain.com/register#register-form [L,NC,R=301,NE] 
+0

是否有任何理由为什么上述不适用于IE或Safari? – 2014-10-15 11:09:31

+0

我相信它应该可以跨浏览器使用。只要确保清除IE/Safari上的浏览器缓存,虽然我不使用这些浏览器。 – anubhava 2014-10-15 11:11:07

相关问题