Удаление доменного имени страны с помощью mod_rewrite - PullRequest
1 голос
/ 12 мая 2011

Я купил международный домен (.com) и бразильский домен (.com.br). Мне нужно перенаправить людей с бразильского домена на международный, чтобы thewebsite.com.br/contact перешел на thewebsite.com/contact. Кроме того, я также хотел бы удалить www как из бразильских, так и международных доменных имен. Чтобы www.thewebsite.com.br/contact перенес моего пользователя на thewebsite.com/contact.

Я использую правило перезаписи Drupal .htaccess для удаления www:

  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

Что вы рекомендуете? Адаптируйте это правило, чтобы удалить международный .br, или добавьте другое правило поверх этого, чтобы удалить .br? Каким будет окончательное условие mod_rewrite для удаления www и .br из моих URL?

1 Ответ

3 голосов
/ 12 мая 2011

Это должно работать.

<IfModule mod_rewrite.c>
# Enable rewrite
RewriteEngine On
RewriteBase /
# Rewrite .br to international domain
RewriteCond %{HTTP_HOST} ^www.domain.com.br [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
# Rewrite non www. .br to international domain
RewriteCond %{HTTP_HOST} ^domain.com.br [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
# Rewrite www. to non www.
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
</IfModule>
...