2016-01-13 2 views
1

У меня есть перенаправление перенастройки с старого сайта на новую сборку. Например:Игнорировать часть URL-адреса в перенаправлении

RedirectMatch 301 /articles/(.*) http://domain.com/articles/entry/$1 

Это прекрасно работает, пока я не посетить domain.com/articles/entry/page-title URL и я получаю повторение сегмента/записи.

ie domain.com/articles/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/entry/page-title

Есть ли способ настроить перенаправление для старых URL-адресов для перенаправления на новый URL-адрес без добавления дополнительных сегментов/записей?

ответ

3

Вы должны использовать анкеры в своем регулярном выражении, чтобы убедиться в соответствии /articles только при запуске, а также использовать отрицательный вперед, чтобы остановить переадресацию цикла:

RedirectMatch 301 ^/articles/(?!(?:entry/|P\d))(.*)$ http://domain.com/articles/entry/$1 

Убедитесь, чтобы очистить кэш браузера перед тестированием этого изменения.

+0

проверено, и это не сработало, все еще повторяет сегмент/entry; даже при перенаправлении добавляет повторяющийся сегмент –

+1

да! это сработало. Спасибо! –

+0

работает с вопросом с разбивки на страницы. моя разбивка на страницы выглядит следующим образом: domain.com/articles/P7 Как я могу исключить перенаправление разбивки на страницы? –

Смежные вопросы