我遇到了apache配置问题(linux发行版)。 我想重定向键入的URL(在浏览器中):
domain.com
www.domain.com
http://domain.com
http://www.domain.com
https://domain.com
只有一个: https://www.domain.com 我应该在.htaccess文件中做什么? 请注意,我只有一个证书。正好适用于www.domain.com
提前感谢您的帮助! :)
答案 0 :(得分:1)
这条规则应该这样做:
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} (.+) [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,R=301]
这四个条件是两组分离条件,其中每组的第一个条件分别测试缺失的www.
和非HTTPS。组的每个第二个条件只是为了获得HTTP主机的一部分而没有前导www.
。
答案 1 :(得分:1)
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.domain.com [NC,OR]
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://www.domain.com%{REQUEST_URI} [NE,R=permanent,L]
在任何情况下,您只有一个虚拟主机,因此在输入https://domain.com
时您将无法跳过有关证书的浏览器警告。