3

我有一个 Apache 服务器,上面有两个域(通过 VirtualHost)。
文件设置是这样的:/example1/example2/
example1是根www.example1.com
example2www.example2.com
我想www.example1.com/example2/<whatever else>重定向到的根www.example2.com/<whatever else>
我可以访问主 Apache 配置文件。关于如何做到这一点的任何提示?我对配置 Apache 不是很熟悉,因此非常感谢任何解释。

与此相关的其他问题缺乏解释,所以我觉得我必须发布自己的问题。

4

2 回答 2

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 对重写的 URL 使用 Location 标头。=301告诉 Apache 使用 301 永久重定向标头。

于 2012-04-21T22:21:32.677 回答
4

如果你有mod_alias活动,你可以使用重定向指令:

<VirtualHost *:80>
    ServerName example1.com
    Redirect 301 /example2 http://www.example2.com
</VirtualHost>
于 2013-06-28T17:46:24.580 回答