我正在尝试重写域的网址。
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