仅重定向到裸域
redirection to naked domain only
在我的 Apache 2.4 网络服务器上,我配置了一个虚拟主机以将 http 上的所有请求重定向到 https,它工作正常。我想通过添加以下规则来改进它:
if user request http://www.domain.example redirect to https://domain.example
我当前的 vhost 定义(适用部分)如下:
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.example [OR]
RewriteCond %{SERVER_NAME} =domain.example
RewriteCond %{HTTP_HOST} !=mail.domain.example
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
我知道我必须更改 {SERVER_NAME}
部分,大概我必须放在那里
RewriteRule ^ https://domain.example%{REQUEST_URI} [END,NE,R=permanent]
但是这是生产环境,我无法对此进行测试。
您可以使用它来强制 https
和 non-www
:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^www\.domain\.example$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_NAME} ^(www\.)?(.+)$
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
在第一个条件中将 www.domain.example
替换为您的真实域名,并确保在测试此新规则之前重新启动您的网络服务器。
在我的 Apache 2.4 网络服务器上,我配置了一个虚拟主机以将 http 上的所有请求重定向到 https,它工作正常。我想通过添加以下规则来改进它:
if user request http://www.domain.example redirect to https://domain.example
我当前的 vhost 定义(适用部分)如下:
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.example [OR]
RewriteCond %{SERVER_NAME} =domain.example
RewriteCond %{HTTP_HOST} !=mail.domain.example
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
我知道我必须更改 {SERVER_NAME}
部分,大概我必须放在那里
RewriteRule ^ https://domain.example%{REQUEST_URI} [END,NE,R=permanent]
但是这是生产环境,我无法对此进行测试。
您可以使用它来强制 https
和 non-www
:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^www\.domain\.example$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{SERVER_NAME} ^(www\.)?(.+)$
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
在第一个条件中将 www.domain.example
替换为您的真实域名,并确保在测试此新规则之前重新启动您的网络服务器。