#wordpress #apache #.htaccess #redirect #http-status-code-301
#wordpress #apache #.htaccess #перенаправление #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:
Убедитесь, что AllowOverwrite ALL
это включено для обоих каталогов в вашей конфигурации apache.
<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
Затем создайте другой .htaccess
файл внутри папки подкаталога, где расположен wordpress.
Это перенаправит sub1.example.com/dir1/
на sub1.example.com/dir2/
RewriteEngine on
RewriteRule ^/?dir1/(.*)$ /dir2/$1 [R,L]
После этого,
sudo service apache2 restart
sudo a2enmod rewrite