Перенаправить подпапки в новую папку в WordPress - PullRequest
0 голосов
/ 07 мая 2018

Я изо всех сил пытался перенаправить старые URL-адреса на страницы нового сайта.

Цель состоит в том, чтобы перенаправить многие страницы подпапок, например: https://www.example.com/news/events/event18

в уникальную папку: https://www.example.com/focus

Используя файл htaccess в Wordpress, я попытался:

RedirectMatch 301 /oldfolder1/oldpage1/(.*) /newfolder/$1

Результат:

https://www.example.com/newfolder/oldpage1

Другой метод:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^oldfolder/(.*)$ https://www.example.com/newfolder [R=301,L]

Результат тот же!

У меня есть тонна старых URL-адресов, и я хочу избежать руководства Redirect 301 для всех из них.

Спасибо за помощь.

1 Ответ

0 голосов
/ 09 мая 2018

Все ли выйдет из / news ? Или это будет выходить из дополнительной папки? В приведенном ниже примере проверяется подпапка первого уровня на наличие одного из двух имен ( news или article ) перед выполнением перезаписи.

RewriteCond %{DOCUMENT_ROOT}/news%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/news%{REQUEST_URI} -d
RewriteRule ^(.*)$ /focus/$1 [L]

# then check if request is in a different folder like /articles/
RewriteCond %{DOCUMENT_ROOT}/articles%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/articles%{REQUEST_URI} -d
RewriteRule ^(.*)$ /projects/$1 [L]

# otherwise, blindly rewrite to /news (or do nothing by removing this rule to allow a 404 not found)
RewriteCond ${REQUEST_URI} !^/news/
RewriteRule ^(.*)$ /news/$1 [L]
...