Перенаправить припаркованный домен (htaccess) - PullRequest
2 голосов
/ 10 июля 2010

У меня есть два домена в формате foo.com и foo.net. В настоящее время у меня есть .htaccess для перенаправления не-www на www:

# Rewrite URL to force WWW
  RewriteCond %{HTTP_HOST} ^[^.]*\.[^.]*$
  RewriteCond %{SERVER_PORT} !=443
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

  RewriteCond %{HTTP_HOST} ^[^.]*\.[^.]*$
  RewriteCond %{SERVER_PORT} =443
  RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

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

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

Однако я хочу перенаправить URL-адреса, оканчивающиеся на .net, для перехода на .com, включая субдомены. Примеры:

foo.net -> foo.com
www.foo.net -> www.foo.com
foo.net/bar -> foo.com/bar
sub.foo.net -> sub.foo.com
sub.foo.net/bar -> sub.foo.com/bar

Раньше это было на другом сайте, но это было много лет назад, и у меня больше нет .htaccess. Кто-нибудь знает простой способ сделать это?

Редактировать: Вот остальные .htaccess:

# BEGIN WordPress
#
  RewriteEngine on
#
# Unless you have set a different RewriteBase preceding this point,
# you may delete or comment-out the following RewriteBase directive
# RewriteBase /
#
# if this request is for "/" or has already been rewritten to WP
  RewriteCond $1 ^(index\.php)?$ [OR]
# or if request is for image, css, or js file
  RewriteCond $1 \.(gif|jpg|png|php|ico|css|js)$ [NC,OR]
# or if URL resolves to existing file
  RewriteCond %{REQUEST_FILENAME} -f [OR]
# or if URL resolves to existing directory
  RewriteCond %{REQUEST_FILENAME} -d
# then skip the rewrite to WP
  RewriteRule ^(.*)$ - [S=1]
# else rewrite the request to WP
  RewriteRule . /index.php [L]
#
# END wordpress 

# Rewrite URL to force WWW
   -(see top of post)-

1 Ответ

1 голос
/ 10 июля 2010

Игнорирование того факта, что это, безусловно, самый дьявольский набор правил переписывания, который я когда-либо писал, на удивление, похоже, заботится о том, что у вас есть в настоящее время, а также о том, что вы хотите, в красивой компактной упаковке.

Дайте мне знать, если у вас возникнут какие-либо проблемы:

RewriteCond %{HTTPS} =on
RewriteRule .* - [E=RW_HTTPS:s]

RewriteCond %{HTTP_HOST}     ^www\.(.*\.[^.]*\.[^.]*)$ [NC,OR]
RewriteCond www.%{HTTP_HOST} ^(www\.[^.]*\.[^.]*)$
RewriteRule .* - [E=RW_THOST:%1]

RewriteCond %{ENV:RW_THOST}  ^(.*)\.(net|com)$         [NC,OR]
RewriteCond %{HTTP_HOST}     ^(.*)\.net$               [NC]
RewriteRule .* http%{ENV:RW_HTTPS}://%1.com%{REQUEST_URI} [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...