更好的URL重写方法.htaccess

时间:2015-01-18 11:22:16

标签: linux apache .htaccess ssl url-rewriting

我想知道有没有更好的方法呢?它正在做以下事情:

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 个答案:

答案 0 :(得分:2)

这两条规则很容易合并为一条:

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.mydomain.uk%{REQUEST_URI} [L,R=301,NE]

答案 1 :(得分:1)

您可以使用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的主机。