Простой .htaccess redirect

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем fighterjet, 21 янв 2011.

  1. fighterjet

    fighterjet

    Регистр.:
    6 фев 2007
    Сообщения:
    263
    Симпатии:
    107
    Недавно начал разбираться с .htaccess - нужно в корне сайта редиректить все ссылки вида: site.com/?q=всечтоугодно в site.com/index.php?q=всечтоугодно
    Все вроде должно быть в одну строчку, ан не работает. Кто-нибудь поможет?
     
  2. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Код:
    RewriteEngine On 
    RewriteCond %{QUERY_STRING} ^q=(.*)$
    RewriteCond %{REQUEST_URI} !^/?index.php$
    RewriteRule .* /index.php [R=301,L,QSA]
     
    fighterjet нравится это.
  3. fighterjet

    fighterjet

    Регистр.:
    6 фев 2007
    Сообщения:
    263
    Симпатии:
    107
    Спасибо!
    Не работает :(
    Наверное, проблема в самой структуре сайта. Там установлены 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. Заработало!!!! Спасибо огромное!!! :)