Apache 使用.htaccess重定向来自多个子域的URL

Apache 使用.htaccess重定向来自多个子域的URL,apache,.htaccess,url-rewriting,dns,subdomain,Apache,.htaccess,Url Rewriting,Dns,Subdomain,我正在改变我的网站结构,我需要重定向301从许多子域许多网址。 我有许多子域,如何在一个.htaccess中实现这一点? 重定向两个: ch.mydomain.com/coffee至www.mydomain.com/de_ch/coffee it.mydomain.com/coffee至www.mydomain.com/it\u it/coffee 编辑: 有些URL有文件夹,有些URL有不同的名称: exm: ch.mydomain.com/coffetype/nespresso至www.my

我正在改变我的网站结构,我需要重定向301从许多子域许多网址。 我有许多子域,如何在一个.htaccess中实现这一点? 重定向两个:

ch.mydomain.com/coffeewww.mydomain.com/de_ch/coffee

it.mydomain.com/coffeewww.mydomain.com/it\u it/coffee

编辑: 有些URL有文件夹,有些URL有不同的名称: exm:

ch.mydomain.com/coffetype/nespressowww.mydomain.com/de_ch/nespressocafe


谢谢

您可以使用以下重定向规则:

RewriteEngine On

# specific rules
RewriteCond %{HTTP_HOST} ^ch\. [NC]
RewriteRule ^coffetype/nespresso/?$ http://example.com/de_ch/nespressocafe [L,NC,R=301]

# generic rules that have same URIs after redirect

RewriteCond %{HTTP_HOST} ^ch\. [NC]
RewriteRule ^ http://example.com/de_ch%{REQUEST_URI} [L,NE,R=301]

RewriteCond %{HTTP_HOST} ^it\. [NC]
RewriteRule ^ http://example.com/it_IT%{REQUEST_URI} [L,NE,R=301]

若我有相同的页面名称,你们的答案可能会合适,但有时它是不同的,有时和文件夹。因此,我需要一个规则,然后我将使用:重定向301,将特定规则保留在通用规则之前的顶部。请参阅我的最新答案。