我有一个名为server1的本地服务器,其子目录sub(server1 / sub /)。 现在我有一个dns条目,它将server2重定向到server1。
我想以一种方式配置我的apacher服务器,当我在浏览器中打开server2时,我从server1 / sub /获得内容。
网址不应更改为server1 / sub /.
这可以用mod_rewrite吗?
编辑: 我添加了
127.0.0.1 localhost
127.0.0.1 wiki2
127.0.0.1 wiki3
到hosts文件和
VirtualHost 127.0.0.1>
ServerName wiki2
ServerAlias 127.0.0.1
DocumentRoot c:/xampp/htdocs/wiki_angua
<Directory c:/xampp/htdocs/wiki_angua >
Allow From All
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerName wiki3
ServerAlias 127.0.0.1
DocumentRoot c:/xampp/htdocs/weatherwax
<Directory c:/xampp/htdocs/weatherwax >
Allow From All
</Directory>
</VirtualHost>
到httpd.conf并重启apache。 无论我打开wiki2还是wiki3,我都会登陆./wiki_angua。 我有什么遗忘的吗?
答案 0 :(得分:2)
如果您有server2
的DNS条目,那么Host
HTTP请求标头将被正确设置,您只需要一个虚拟主机,而无需使用mod_rewrite。
例如:
<VirtualHost *:80>
ServerName server2
DocumentRoot /path/to/server1/sub
<Directory /path/to/server1/sub>
Allow From All
</Directory>
# ... etc
</VirtualHost>
修改强>:
如果您仍想使用mod_rewrite,您可以执行以下操作:
RewriteCond %{HTTP_HOST} ^server2$
RewriteRule ^(.+) /path/to/server1/sub/$1
这必须位于全局服务器配置中,而不是现有的虚拟主机中。