![如何使用 apache2 中可用的站点中的虚拟主机配置将页面重定向到 www?](https://linux22.com/image/551409/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20apache2%20%E4%B8%AD%E5%8F%AF%E7%94%A8%E7%9A%84%E7%AB%99%E7%82%B9%E4%B8%AD%E7%9A%84%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E5%B0%86%E9%A1%B5%E9%9D%A2%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20www%EF%BC%9F.png)
现在我创建了两个文件,一个用于 example.com,一个用于 www.example.com,因为通配符 *.example.com 无法正确访问 example.com,我的问题是如何使用 apache 而不是 php 之类的东西将 example.com 重定向到 www.example.com。这样我就可以为每个域配置一个虚拟主机。
答案1
使用:
SeverName example.com
ServerAlias www.example.com
在您的虚拟主机配置中...
然后你可以使用类似以下方式重定向non-www
到www
:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteCond %{HTTP_HOST} (.+)$ [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
</IfModule>