Переадресация (301) с domain.com на www.domain.com, а также принудительное использование HTTPS в HTACCESS - PullRequest
1 голос
/ 07 января 2012

Хорошо, так что это то, что у меня изначально, который перенаправляет любой домен .net или www.domain.net на www.domain.com (с SSL).

RewriteEngine On
RewriteCond %{SERVER_PORT} !443
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^domain\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.net$
RewriteRule ^/?$ "http\:\/\/domain\.com" [R=301,L]

Теперь я хочу заставить все эти условия сообщать 301 (для целей поисковой системы): domain.net www.domain.net domain.com

и заставить все условия: www.domain.com с SSL (даже кто-то, набрав http://www.domain.com, должен набрать https://www.domain.com).

Имеет ли это смысл? Вот что у меня так далеко, и я думаю, что это сработает, но я не знаю, как добавить в часть 301 ...

RewriteEngine On
RewriteCond %{SERVER_PORT} !443
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^domain\.net$ [OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.net$
RewriteRule ^/?$ "http\:\/\/domain\.com" [R=301,L]

1 Ответ

2 голосов
/ 08 января 2012

Вы говорите, что хотите использовать только www.domain.com, но код указывает, что вы хотите использовать только domain.com.В любом случае, это должно сработать:

RewriteEngine On
RewriteBase /

# redirect any domain other than www.domain.com to www.domain.com
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]

# force https on www.domain.com
RewriteCond %{HTTPS} ^off
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
...