我正在尝试为 .htaccess 文件写一个 RewriteRule 。我的情况如下,强制我的网站上的所有用户使用www并强制安全电子邮件文件夹只能使用www进行https
关于如何编写此RewriteRule的任何想法?
答案 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 可以找到更多详细信息here和here来调整上述规则。
但我强烈建议您通过HTTPS设置所有网站(HTTPS是许多新浏览器功能的必要条件,尤其是渐进式网络应用程序所需的功能)