确保WWW是HTTP和HTTPS连接的一部分HTACCESS

时间:2016-01-26 10:17:59

标签: apache .htaccess redirect mod-rewrite

我正在尝试使用htaccess管理我网站的规范。

我最近切换到HTTPS,现在我的旧规则无效:

#URLS ALWAYS CHANGED TO WWW
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

#PREVENT TRAILING '/' AT END OF URLS
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# PREVENT CANONICALIZATION DUPLICATES
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ http://www.example.com/$1 [R=301,L]

虽然有一些问题。如果通过HTTP建立连接,我希望它保持为HTTP。

我不想强制使用HTTPS,因为出于访问者安全原因我有时需要HTTP - 因此嵌入式内容无法搭载我的https权限:

  

普通人不明白IFRAME是什么。他们会的   查看顶部栏中的挂锁和https,并认为该网站是安全的   提供他们的信用卡详细信息 - 实际上他们可能正在访问   不受信任的HTTP站点(或更糟)。因此显示的页面   不受控制的IFRAME内容我总是显示为http。

如果正在使用错误的网址,页面301会重定向。但我宁愿用htaccess做更多冗余和更快的响应。

所以这基本上就是我需要做的事情:

0 个答案:

没有答案