mah*_*ich 7 domain virtualhost apache-2.2
我已经设置了一个域,我想将该域指向不同的网络服务器。
让我们说:
域 1:服务器 1 上的 www.test.com
域 2:服务器 2 上的 www.test1.com
我想将 www.test1.com 转发到 www.test.com,我已经尝试通过在服务器 2 和 mod_rewrite 上设置虚拟主机来做到这一点。
虚拟主机如下所示:
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName www.test1.com
ServerAlias test1.com *.test1.com
RewriteEngine On
RewriteCond %{HTTP_HOST} (.*)\test\.com
RewriteRule ^(.*) http://%1test.com/$1 [R=301,L]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
一切正常,除了http://test1.com不重定向。
问题 1: 我将如何使用 mod_rewrite 将进入http://test1.com 的所有请求(所有子域)重定向 到http://www.test.com。
问题2:在这种情况下,我需要为虚拟主机指定一个目录吗?
问题 3:我需要 ServerAlias 还是在这里适得其反?
更新:
最终通过以下设置执行 301
<virtualhost <ip>:80>
ServerName test1.com
ServerAlias www.test1.com
Redirect 301 / http://www.test.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
Fra*_*sen 14
DocumentRoot 不是必需的。您可以像这样设置虚拟主机而不会出现任何问题:
<VirtualHost xx.xx.xx.xx:90>
ServerName domain.tld
ServerAlias www.domain.tld
RedirectPermanent / http://www.domain2.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这会将所有请求重定向到主站点以及子文件夹。例如 www.domain.tld/foo/bar 将被重定向到 www.domain2.com/foo/bar
仅当您想要多个主机名时才需要 ServerAlias。例如 www 和不带 www。
| 归档时间: |
|
| 查看次数: |
23617 次 |
| 最近记录: |