Перенаправить все URL-адреса, исключая часть URL-адреса 301 - PullRequest
0 голосов
/ 07 августа 2020

Я изменю структуру URL на сайте

Например. домашняя страница теперь:

http://example.com/web/www/

, а все остальные URL-адреса следуют этой структуре:

http://example.com/web/www/sample-post/

Новый адрес будет (часть / web / www / будет удалена):

http://example.com

и остальные:

http://example.com/sample-post/

Итак, могу ли я автоматически перенаправить все адреса с помощью одного правила, которое удалит часть / web / www / из адреса или Мне нужно перенаправлять каждый адрес вручную?

1 Ответ

0 голосов
/ 07 августа 2020

Чтобы удалить префикс /web/www из запрошенного URL-адреса, вы можете сделать это следующим образом, используя mod_rewrite в верхней части файла .htaccess в документе root:

RewriteRule On

RewriteRule ^web/www/(.*) /$1 [R=301,L]

The (.*) часть захватывает оставшийся URL-путь после /web/www/, который сохраняется в $1 обратной ссылке, на которую мы перенаправляем.

Сначала протестируйте с 302 (временными) перенаправлениями, чтобы избежать потенциальных проблем с кешированием.

...