使用www强制一个站点到http并使用www强制安全电子邮件文件夹到https

时间:2017-10-18 02:08:14

标签: php regex html5 apache .htaccess

我正在尝试为 .htaccess 文件写一个 RewriteRule 。我的情况如下,强制我的网站上的所有用户使用www并强制安全电子邮件文件夹只能使用www进行https

关于如何编写此RewriteRule的任何想法?

1 个答案:

答案 0 :(得分:2)

你可以使用类似的东西(根据你的需要调整它):

# non-www to www
<If "%{HTTP_HOST} = 'domain.com'">
  Redirect 301 "/" "%{REQUEST_SCHEME}://www.domain.com/"
</If>
# secure url for secure-email uri
<If "%{REQUEST_URI} =~ ^/secure-email$">
  Redirect 301 ^/?(.*) https://%{SERVER_NAME}/$1
</If>
# unsecure url for secure-email uri
<ElseIf "%{REQUEST_URI} !~ ^/secure-email$" && "%{HTTPS} = 'on'">
  Redirect 301 ^/?(.*) http://%{SERVER_NAME}/$1
</ElseIf>

仅供参考:这仅适用于Apache版本&gt; = 2.4,否则您必须使用mod_rewrite 可以找到更多详细信息herehere来调整上述规则。

但我强烈建议您通过HTTPS设置所有网站(HTTPS是许多新浏览器功能的必要条件,尤其是渐进式网络应用程序所需的功能)