【发布时间】:2015-10-26 20:28:48
【问题描述】:
我正在尝试更改我确定不是最佳的 apache2 服务器配置。现在我将所有 AllowOverride 设置为 None。我想保留该配置以设置全局规则并增加页面加载时间。
但是,现在的问题是我使用单独的虚拟主机和目录以及 .php 文件将 www.example.com 重定向到 https://www.example.com。我确信这不是最优的。我更喜欢使用 mod_overwrite。
根据我的阅读,像下面这样的规则集可以实现这一点。但是,如果我想保留 AllowOverride None,我想知道在哪里放置此代码。
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我相信,如果我在正确的位置添加这样的规则集,我还可以禁用我用来重定向的附加虚拟主机。
【问题讨论】:
标签: php apache .htaccess redirect