Подскажите как сделать редирект одной папки на другую в файле .htaccess

Аватар пользователя ufaserver

Подскажите, пожалйуста, у меня есть старый контент и новый, нужно чтобы шел редирект со всего контента папки car-storage-directory в папку car-shipping, то есть все линки остаются как и раньше меняется только первая папка, причем в браузере замена тоже должна идти.
Я сделала в файле .htaccess
такие строки

RewriteCond %{REQUEST_URI} !^/car-storage-directory$ [NC]
RewriteRule %{REQUEST_URI} !^/car-shipping/ [L,R=301]

сначала вроде работало, (может конечно у меня глаза уже намылились) а теперь никак.. не хочет и все.

Ключевые слова:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя ufaserver
ufaserver 7 лет назад

:-( пытаюсь понять.. там все по англицки.. давно в школе немецкий учила..

Аватар пользователя grave
grave 7 лет назад

RewriteRule ^/car-storage-directory(.*)$ /car-shipping$1 [QSA,L,R=301,NC]

QSA - сохранять GET параметры

Аватар пользователя ufaserver
ufaserver 7 лет назад
grave написал:
RewriteRule ^/car-storage-directory(.*)$ /car-shipping$1 [QSA,L,R=301,NC]

Вот так сработало!
RewriteRule ^(.*)car-storage-directory(.*)$ /car-shipping$1 [QSA,L,R=301,NC]

Только знаете, не совсем .. Уже конечно я почти счастлива) но не до конца работает
Почему то все идет редиректом только на sitename.ru/car-shipping
а дальше ссылки были одинаковые в обоих "папках", то есть например
sitename.ru/car-shipping/alabama
теперь выдает
sitename.ru/car-shipping

И главное что все эти страницы это не ноды и не пейджи, это Views с тремя уровнями вложенности, и вывод контента идет в зависиомсти от переданных аргументов, то есть
sitename.ru/car-shipping/alabama
alabama в данном случае аргумент(1) и он прсто кровь из носа должен быть в строке браузера,
поэтмоу мне надо чтобы папки заменялись, а остальное в ссылках оставалось!
Как это возможно?
Спасибо заранее за помощь!

Аватар пользователя grave
grave 7 лет назад

Вот так правильнее: RewriteRule ^(.*)car-storage-directory(.*)$ $1car-shipping$2 [QSA,L,R=301,NC]

А вот здесь я не причем :) :

ufaserver написал:
то есть например
sitename.ru/car-shipping/alabama
теперь выдает
sitename.ru/car-shipping
Аватар пользователя ufaserver
ufaserver 7 лет назад
grave написал:

ААААА работает же так! Работает! Песня то какая.. ой, не дышать бы .. слетит еще на фиг)))) урааааа.... я 7 часов мучаюсь от этого! спасибо спасибо!

Аватар пользователя grave
grave 7 лет назад
ufaserver написал:
ААААА работает же так! Работает! Песня то какая.. ой, не дышать бы .. слетит еще на фиг)))) урааааа.... я 7 часов мучаюсь от этого! спасибо спасибо!

Пожалуйста.

P.S.:
RewriteRule ^(.*)car-storage-directory(.*)$ $1car-shipping$2 [QSA,L,R=301,NC]
правило имеет недостаток:
оно будет работать неправильно, если исходный урл будет иметь вид:
1) sitename.ru/car-storage-directory-smth
2) sitename.ru/smth-car-storage-directory
Можете попробовать.

Мой вам совет: читайте мануалы к mod_rewrite..