我有一个Apache服务器,上面有两个域(通过VirtualHost)
文件设置如下:/example1/example2/
example1
是www.example1.com
的根。example2
www.example2.com
是www.example1.com/example2/<whatever else>
的根。www.example2.com/<whatever else>
我希望{{1}}重定向到{{1}}
我可以访问主Apache配置文件。关于如何做到这一点的任何提示?我对配置Apache并不是很熟悉,因此非常感谢任何解释。
与此相关的其他问题缺乏解释,所以我觉得我必须发表自己的问题。
答案 0 :(得分:5)
您可以使用.htaccess文件快速完成此操作。在www.example1.com/example2/
中,您将创建此.htaccess文件。
<VirtualHost *:80>
...
<Directory /path/to/vhost/>
RewriteEngine on
RewriteBase /example2/
RewriteRule ^(.*)$ http://www.example2.com/$1 [R=301]
</Directory>
</VirtualHost>
这确实假设您希望重定向为301,并且example2
文件夹设置了AllowOverride All
。
此规则使用正则表达式捕获传入的URL,没有example2
位,然后将其附加到重写的URL。方括号中的R
告诉Apache使用Location头来重写URL。 =301
告诉Apache使用301 Permanent Redirect标头。
答案 1 :(得分:2)
如果tou mod_alias
处于活动状态,您可以使用Redirect指令:
<VirtualHost *:80>
ServerName example1.com
Redirect 301 /example2 http://www.example2.com
</VirtualHost>