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

Главные вкладки

Аватар пользователя ufaserver ufaserver 16 марта 2010 в 15:26

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

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

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

Комментарии

Аватар пользователя ufaserver ufaserver 16 марта 2010 в 16:38

"grave" wrote:
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 16 марта 2010 в 17:59

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

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

"ufaserver" wrote:
то есть например
sitename.ru/car-shipping/alabama
теперь выдает
sitename.ru/car-shipping

Аватар пользователя ufaserver ufaserver 16 марта 2010 в 18:08

"grave" wrote:

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

Аватар пользователя grave grave 16 марта 2010 в 18:35

"ufaserver" wrote:
ААААА работает же так! Работает! Песня то какая.. ой, не дышать бы .. слетит еще на фиг)))) урааааа.... я 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..