1
我們移動到另一個域名,並希望重定向所有的舊交通:爲多個子域的.htaccess重寫規則
en.site1.com/whatever >>> en.site2.com/whatever
cz.site1.com/whatever >>> cz.site2.com/whatever
fr.site1.com/whatever >>> fr.site2.com/whatever
# ...and so on
目前,我們正在使用重定向的.htaccess,所以我們使用喜歡的解決方案。重寫規則本身不看域名(* example.com)的情況,所以我們必須使用RewriteConds:
RewriteCond %{HTTP_HOST} en.site1.com
RewriteRule ^(.*)$ http://en.site2.com/$1 [R=301]
RewriteCond %{HTTP_HOST} cz.site1.com
RewriteRule ^(.*)$ http://cz.site2.com/$1 [R=301]
RewriteCond %{HTTP_HOST} fr.site1.com
RewriteRule ^(.*)$ http://fr.site2.com/$1 [R=301]
# ...and so on
這樣做對於每個X支持的語言過於冗長。我想,會使用一個正則表達式或東西,而不是列出所有語言的解決方案:
# $0 is the regex match from RewriteCond
RewriteCond %{HTTP_HOST} ^(.*).site1.com
RewriteRule ^(.*)$ http://$0.site2.com/$1 [R=301]
這可能嗎?或者有沒有在.htaccess任何其他方式不包括廣泛的copypasting?
謝謝!像魅力一樣工作。當我知道要尋找什麼,我甚至發現這個文件中提及。 作爲參考和後來的讀者: http://httpd.apache.org/docs/current/mod/mod_rewrite.html (約RewriteCond指令科) –