2014-10-09 91 views
0

我已经搜索了解决方案,将包含子域和变量的URL重定向到新域中的特定页面。htaccess 301将带有变量的子域URL重定向到新域

这是我想要重定向的URL: http://en.domain.com/?page=ceramic-vase

这是我想重定向到URL: http://www.newdomain.com/en/ceramic-vase.php

我对此只是重定向整个子域,基本试过哪些正常工作:

RewriteCond %{HTTP_HOST} ^en.domain.com$ 
RewriteRule ^(.*)$ http://www.newdomain.com/en/ [R=301,L] 

我已经然后看到,在htaccess以及mod_rewrite的,国家[OR]使用 - 所以我认为[和]可能工作过,但unfortu最近没有:

RewriteCond %{HTTP_HOST} ^en.domain.com [AND] 
RewriteCond %{QUERY_STRING} ^page=ceramic-vase$ 
RewriteRule ^(.*)$ http://www.newdomain.com/en/ceramic-vase/ [R=301,L] 

我希望有人能帮忙吗?

+0

这是和默认设置,以便试图删除[和]? – madpoet 2014-10-09 21:51:58

+0

感谢@madpoet,我不知道。 我我的文件更新为: #RewriteCond%{HTTP_HOST}^en.domain.com #RewriteCond%{QUERY_STRING} ^页=陶瓷花瓶 #RewriteRule^$ http://www.newdomain.com/en /陶瓷花瓶? [R = 301,L] 这工作就像一个魅力!你会提出一个答案,所以我可以关闭该帖子。谢谢:-) – MazeyMazey 2014-10-12 16:29:30

回答

0

它,默认情况下,以便消除[和]就足够了:

RewriteCond %{HTTP_HOST} ^en.domain.com 
RewriteCond %{QUERY_STRING} ^page=ceramic-vase$ 
RewriteRule ^(.*)$ http://www.newdomain.com/en/ceramic-vase/ [R=301,L] 
+0

谢谢@madpoet – MazeyMazey 2014-10-12 19:22:00

1

您可以使用此规则:

RewriteCond %{HTTP_HOST} =en.domain.com 
RewriteCond %{QUERY_STRING} ^page=([^&]+) 
RewriteRule ^/?$ http://www.newdomain.com/en/%1/? [R=301,L] 
  • %1是背后到底会剥离之前的查询字符串的查询参数page
  • ?参考。