htaccess 301 перенаправляет определенный шаблон URL - PullRequest
4 голосов
/ 22 октября 2010

Я бы хотел перенаправить: http://site.com/FOO/BAR/BAZ

до http://site.com/FOO/NEW/BAZ

Итак, замените второй сегмент в моем URL новым.

в идеале я бы хотел использовать HTACCESS и 301, так как эти страницы постоянно перемещались.

Структура URL не изменится. В идеале не должно быть строки запроса, но не имеет большого значения, есть ли она.

спасибо

8EDIT * - Я должен уточнить и сказать, что «BAR» - это не подстановочный знак - это одно слово. Пример из реальной жизни:

старые ссылки: site.com/events/details/XXX

новые ссылки: site.com/events/VIEW/xxx

Я не хочу: site.com/events/add-new

для перенаправления. ПРОСТО, если второй сегмент равен «деталям» в моем случае.

дальнейшие разъяснения извините, не совсем ясно.

Существующий URL: site.com/events/details/%wildcard%

следует перенаправить на site.com/foo/view/%wildcard%

но ничего больше.

1 Ответ

2 голосов
/ 22 октября 2010

А как насчет этого?

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ FOO/NEW/BAZ [L,R=301]

РЕДАКТИРОВАТЬ: Не уверен, но вам может потребоваться передать весь адрес, вот другой пример кода:

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ http://site.com/FOO/NEW/BAZ [L,R=301]

2-е редактирование: Вот окончательное решение. Я пробовал сегодня на виртуальном хостинге, и он работал хорошо.

RewriteEngine On
RewriteRule ^FOO/(.+)/BAZ$ http://site.com/FOO/NEW/BAZ/ [L,R=301]

Единственное отличие состоит в том, что последний пример содержит косую черту (/) в конце нового пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...