Непростой редирект

A
На сайте с 26.09.2016
Offline
2
608

Здравствуйте!

У меня на сайте есть страницы вида:

http://www.site.ru/countries/dominicana/resorts/punta-kana/hotels/hotel1/

http://www.site.ru/countries/dominicana/resorts/punta-kana/hotels/hotel2/

итд.

Мне нужно было перенаправить их на:

http://www.site.ru/countries/dominicana/hotels/hotel1/

http://www.site.ru/countries/dominicana/hotels/hotel2/

Помог код:

RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)$ http://www.site.ru/countries/dominicana/hotels/$1 [R=301,L]

Но:

Теперь и сам корневой каталог

http://www.site.ru/countries/dominicana/resorts/punta-kana/hotels/

редиректит на:

http://www.site.ru/countries/dominicana/hotels/

А мне нужно избежать этого редиректа.

Что добавить в код?

Заранее большое спасибо!

obius
На сайте с 19.08.2015
Offline
56
#1

Arsenyhouston, перед символом $ поставьте /


RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ http://www.site.ru/countries/dominicana/hotels/$1 [R=301,L]

Если редирект на тот же домен, то можно убрать протокол + домен + слеш


RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ countries/dominicana/hotels/$1 [R=301,L]
A
На сайте с 26.09.2016
Offline
2
#2
obius:
Arsenyhouston, перед символом $ поставьте /

RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ http://www.site.ru/countries/dominicana/hotels/$1 [R=301,L]


Если редирект на тот же домен, то можно убрать протокол + домен + слеш

RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ countries/dominicana/hotels/$1 [R=301,L]

Спасибо Вам! Сейчас попробую.

Скажите, а если у меня в принципе еще есть страницы с разными резортами, например:

countries/dominicana/resorts/puerto-plata/hotels/

countries/dominicana/resorts/santo-domingo/hotels/

Мне для каждого урла отдельное правило прописывать или можно какой-то символ общий подставить в то место где в урле резорт?

---------- Добавлено 05.10.2016 в 10:58 ----------

obius:
Arsenyhouston, перед символом $ поставьте /

RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ http://www.site.ru/countries/dominicana/hotels/$1 [R=301,L]


Если редирект на тот же домен, то можно убрать протокол + домен + слеш

RewriteRule ^countries/dominicana/resorts/punta-kana/hotels/(.*)/$ countries/dominicana/hotels/$1 [R=301,L]

К сожалению, не помогло,

в браузере проверяю:

http://www.site.ru/countries/dominicana/resorts/punta-kana/hotels/

кидает на

http://www.site.ru/countries/dominicana/hotels/

obius
На сайте с 19.08.2015
Offline
56
#3

Если я правильно Вас понял


RewriteRule ^countries/dominicana/resorts/(.*)/hotels/(.*)/$ countries/dominicana/hotels/$2 [R=301,L]

Проверяйте радирект через сервисы, ибо браузеры имеют свойства кэшировать даже редиректы.

Redirect Detective

A
На сайте с 26.09.2016
Offline
2
#4
obius:
Если я правильно Вас понял

RewriteRule ^countries/dominicana/resorts/(.*)/hotels/(.*)/$ countries/dominicana/hotels/$2 [R=301,L]


Проверяйте радирект через сервисы, ибо браузеры имеют свойства кэшировать даже редиректы.

Redirect Detective

Все именно так, как я и хотел! Спасибо Вам большое!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий