有人可以向我解释这实际上是如何运作的。这是Apache的httpd.conf文件中的代码。
<VirtualHost *:80>
DocumentRoot "somepath"
ServerAlias mobile.mysite.com
ServerName mobile.mysite.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "somepath"
ServerAlias *.mysite.com
ServerName mysite.com
</VirtualHost>
我想做一些事情,比如它的mobile.mysite.com应该去mobile.mysite.com。如果它的其他任何其他.mysite.com,那么它应该去mysite.com。上面的代码是否执行相同的操作?有什么建议吗?
答案 0 :(得分:0)
不,此代码不执行任何上述任务。你必须为此目的使用mod_rewrite。
修改httpd.conf文件以包含mod_rewrite.so,然后编写如下内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www [NC]
RewriteRule $ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R]
上述重写规则的作用是检查主机名是否以www
开头,如果不是,则主机名中包含www.
并重定向。
您可以编写与此类似的重写规则。
详细了解重写规则here