如何将目录重定向/重写到子域上的另一个目录



我正在尝试重写域的网址。

www.example.com/dir1/www.example.com/dir2/

sub1.example.com/dir1/sub1.example.com/dir2/

问题是sub1是一个WordPress多站点,与根域共享相同的htaccess,并且重定向/dir1/将两个域重定向到 https://www.example.com/dir2/

只是无法在堆栈溢出上找到答案,这是一个流量很大的实时站点,我不能炸毁它。

确保为 apache 配置中的两个目录都启用了AllowOverwrite ALL

<Directory /var/www/example.com>
        AllowOverride All
</Directory>
<Directory /var/www/example.com/sub1>
        AllowOverride All
</Directory>

添加后,在example.com根目录中创建.htaccess文件

这会将example.com/dir1/重定向到example.com/dir2/

    RewriteEngine on
    Redirect 301 /dir1 http://example.com/dir2

然后,在wordpress所在的子目录文件夹中创建另一个.htaccess文件。这会将sub1.example.com/dir1/重定向到sub1.example.com/dir2/

RewriteEngine on
RewriteRule ^/?dir1/(.*)$ /dir2/$1 [R,L]

然后

sudo service apache2 restart
sudo a2enmod rewrite

最新更新