.htaccess将所有请求重定向到非www https域?

时间:2014-09-27 13:31:51

标签: php apache .htaccess mod-rewrite redirect

我知道有很多关于堆栈溢出的问题已经存在,但我找到的解决方案似乎都没有正常工作。

我已经设置了SSL证书,要求其所在的域名为非www。

我想将访问我网站的用户重定向到https://example.com,无论他们来自哪里:

http://example.com变为https://example.com

http://www.example.com变为https://example.com

https://www.example.com变为https://example.com

应该很简单,但不幸的是我没有.htaccess知识。我感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

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

答案 1 :(得分:0)

以下规则集满足以下所有6个案例:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]


Cases: 
C1: http://example.com/
C2: http://www.example.com/
C3: https://www.example.com/

C4: http://example.com/LineDemo/
C5: http://www.example.com/LineDemo/
C6: https://www.example.com/LineDemo/