URL 重写此 .htaccess 的更好方法
A better way to URL Rewrite this .htaccess
我想知道是否有更好的方法来做到这一点。它正在执行以下操作:
A) 路由 mydomain.uk 到 www.mydomain.uk
B) 将任何非 http 路由到 https://www.mydomain.uk
我不太使用基于 linux 的服务器,所以我相信有更好的方法来做到这一点。最终结果应该是任何基地 url 应该结束在 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
的主机。
我想知道是否有更好的方法来做到这一点。它正在执行以下操作:
A) 路由 mydomain.uk 到 www.mydomain.uk
B) 将任何非 http 路由到 https://www.mydomain.uk
我不太使用基于 linux 的服务器,所以我相信有更好的方法来做到这一点。最终结果应该是任何基地 url 应该结束在 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
的主机。