2014-10-09 86 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
  • ?參考。