好的,这就是我原来的,它将任何domain.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]
答案 0 :(得分:2)
您说您只想使用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]