【发布时间】:2018-03-29 19:57:35
【问题描述】:
我正在尝试为我的 .htaccess 文件编写 RewriteRule。我的情况如下,强制我网站上的所有用户使用 www 使用 HTTP 并强制安全电子邮件文件夹使用 www 仅使用 https。
关于如何编写这个 RewriteRule 有什么想法吗?
【问题讨论】:
-
拜托,我需要一个答案!
标签: php regex html apache .htaccess
我正在尝试为我的 .htaccess 文件编写 RewriteRule。我的情况如下,强制我网站上的所有用户使用 www 使用 HTTP 并强制安全电子邮件文件夹使用 www 仅使用 https。
关于如何编写这个 RewriteRule 有什么想法吗?
【问题讨论】:
标签: php regex html apache .htaccess
您可以使用类似的东西(根据您的需要进行调整):
# 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 版本 >=2.4,否则您必须使用 mod_rewrite 更多细节可以在here和here找到以适应上述规则。
但我强烈建议通过 HTTPS 设置所有网站(HTTPS 是许多新浏览器功能的要求,尤其是渐进式 Web 应用程序所需的功能)
【讨论】: