Редирект на главную без параметров

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Levitt, 7 мар 2012.

  1. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    358
    Симпатии:
    36
    Хочу перераспределить ссылочную массу с удаленных страниц на главную, вот только передаются ненужные параметры.
    Итак, как реализовать 301-редирект на главную index.php без передачи Get-параметров, страниц по типу:
    /folder/other_folder/page.htm?cat=3&page=77
    /folder/faq.htm?tab=5a
    /folder/index.html
     
  2. aressto

    aressto

    Регистр.:
    17 июн 2007
    Сообщения:
    439
    Симпатии:
    46
    мне вообще интересно как вместо 404 отдавать главную на 301 редирект )
    а то с сайта пропал большой большой кусок, и прописывать для каждой страницы руками редирект сума сойти можно
     
  3. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.166
    Симпатии:
    796
    Файл .htaccess:

    Код:
    DirectoryIndex index.php
     
    ErrorDocument 404 /index.php
    ErrorDocument 403 /index.php 
    Файл index.php:

    Код:
     <?
    $URL=»http://newsiteurl»;
    header («Location: $URL»);
    ?>
    <html>
    <title>by killoff.ru </title>
    <head></head>
    <body>
    </body>
    </html> 
    1. При открытии страницы сайта, которая раньше была на нём – вылетает сообщение 404 (страница не найдена).
    2. Поскольку нужно сделать редирект с ненайденных страниц – перекидываем ее на “морду” сайта (index.php).
    3. Далее уже index.php перекидывает пользователя на нужный домен.
    4. title можно удалить, а можно прописать что-нибудь...

    PS: в общем первая строчка в файле .htaccess – не обязательно, я просто поставил ее по привычке, если кому то она будет мешать – можно удалить её…
    title тоже можно удалить, а можно прописать что-нибудь...

    PSS возможно и другой способ, но мне в голову ничего не приходит другого :)
     
  4. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    358
    Симпатии:
    36
    Аналогично, вместо еррок404 писать

    Код:
    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^(.*)$ redirect.php/$1
    Но, как по мне всё равно не есть гуд. так идет двойной редирект =(