我想知道有没有更好的方法。它正在执行以下操作:
A) 将 mydomain.uk 路由到 www.mydomain.uk
B) 将任何非 http 的内容路由到 https://www.mydomain.uk
我不怎么使用基于 linux 的服务器,所以我确信有更好的方法可以做到这一点。最终结果应该是任何基本网址都应该以 https://www.mydomain.uk 结尾
这是代码
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} ^mydomain.uk$
RewriteRule ^/?$ "https://www.mydomain.uk/" [R=301,L]
这 2 条规则可以很容易地组合成一条:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^ https://www.mydomain.uk%{REQUEST_URI} [L,R=301,NE]
您可以使用
OR
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^mydomain.uk$
RewriteRule (.*) https://www.mydomain.uk%{REQUEST_URI} [R,L]
规则RewriteCond %{HTTP_HOST} ^mydomain.uk$
也可以更严格,并捕获任何未www.mydomain.uk
的主机。