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

时间:2019-03-31 22:44:58

标签: wordpress apache .htaccess redirect http-status-code-301

我正在尝试重写域的URL。

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/

找不到关于Stack Overflow的答案,这是一个交通繁忙的现场站点,我无力炸毁它。

1 个答案:

答案 0 :(得分:0)

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

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

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

这会将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