Простой .htaccess redirect

fighterjet

Постоялец
Регистрация
6 Фев 2007
Сообщения
263
Реакции
111
Недавно начал разбираться с .htaccess - нужно в корне сайта редиректить все ссылки вида: site.com/?q=всечтоугодно в site.com/index.php?q=всечтоугодно
Все вроде должно быть в одну строчку, ан не работает. Кто-нибудь поможет?
 
Код:
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteCond %{REQUEST_URI} !^/?index.php$
RewriteRule .* /index.php [R=301,L,QSA]
 
Спасибо!
Не работает :(
Наверное, проблема в самой структуре сайта. Там установлены 2 CMS - в корне старый друпал (на него завязана сапа и все такое), а в поддиректории new стоит джумла.
Нужно было, чтобы при заходе на сайт шла переадресация на папку new, но в корне сайта index.php друпалавский оставался работоспособным (то есть чтобы при наборе site.com шла переадресация на site.com/new, но при наборе скажем site.com/index.php вызывался именно этот index.php). Смысл - оставать старый "плохой" сайт с пузомерками для сапы, и внедрить новый - "красивенький" для заказчика.
Достигнуто сие было созданием в корне сайта файла index_new.html с редиректом на site.com/new
В .htaccess же помещено:
DirectoryIndex index_new.html index.php
Почему именно index_new.html а не редирект в .htaccess - потому что нужно было оставить на главной сайта ссылочку для поисковых систем - вход на структуру старого сайта.
В старой структуре друпала проиндексированные страницы имели вид site.com/?q=blog, а эта схема теперь бросается на site.com/new
В то же время site.com/index.php?q=blog отлично работает. Вот и хотелось редиректить site.com/?q=blog в site.com/index.php?q=blog А сейчас по ссылкам ?q=blog бросает на new/index.php
Но, видимо, другие настройки мешают этому.

UPDATE. Заработало!!!! Спасибо огромное!!! :)
 
Назад
Сверху