【发布时间】:2015-10-15 11:30:45
【问题描述】:
我有一个 Drupal 7 网站,正在请求一些资源,其中 Host 设置为具有 www 前缀,而其他资源则没有。
- https://www.example.com 当请求头是 301 永久移动时
- https://example.com 当请求头是 304 未修改时
更改 base_url 似乎不会改变行为。
我是否可以让 drupal 将所有请求标头的主机设置为 https://example.com?
【问题讨论】:
我有一个 Drupal 7 网站,正在请求一些资源,其中 Host 设置为具有 www 前缀,而其他资源则没有。
更改 base_url 似乎不会改变行为。
我是否可以让 drupal 将所有请求标头的主机设置为 https://example.com?
【问题讨论】:
有一个Apache wiki page,它显示了满足您要求的解决方案。第一个解决方案使用虚拟主机设置和Redirect 指令
# Redirect every request to example.com
<VirtualHost *:80>
ServerName www.example.net
ServerAlias www.example.com
Redirect permanent / http://example.com/
</VirtualHost>
# Define virtual host for example.com
<VirtualHost *:80>
ServerName example.com
DocumentRoot /usr/local/apache/htdocs
</VirtualHost>
第二个设置使用mod_rewrite重定向
RewriteCond %{HTTP_HOST} !^example\.com [NC]
RewriteCond %{HTTP_HOST} !=""
RewriteRule ^ http://example.com%{REQUEST_URI} [L,R]
您可以选择最适合您环境的。
【讨论】: