如何使用Apache将目录重定向到另一个域?

Yos*_*ahu 3 apache redirect

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

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

Chr*_*nry 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>
Run Code Online (Sandbox Code Playgroud)

这确实假设您希望重定向为301,并且该example2文件夹已AllowOverride All设置.

此规则使用正则表达式捕获传入的URL,删除该example2位,然后将其附加到重写的URL.在R方括号告诉Apache使用Location头的重写URL.该=301告诉Apache使用301永久重定向头.


Pau*_*nto 5

如果您处于mod_alias活动状态,您可以使用重定向指令:

<VirtualHost *:80>
    ServerName example1.com
    Redirect 301 /example2 http://www.example2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)