редирект с помощью htaccess с группы страниц

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Димитрий, 28 авг 2008.

Статус темы:
Закрыта.
  1. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    285
    Симпатии:
    77
    есть такая проблема..
    имеем кучу ненужных страниц-


    Сайт.ру/nov_kosm.html?sort=price&direction=asc&on_page=20
    сайт.ру/shaniss.html?sort=name&direction=asc&on_page=10&page=2

    суть такова- чтобы сделать редирект с любой страницы- где идет такое начало:
    какой_либо_адрес.html?sort=любое_бла_бла..ну и так далее..
    то есть ключевое в адресе это html?sort= и с такой страницы надо делать редирект на сайт.ру/index.php, либо на другую заданную страницу..
    страниц таких несколько тысяч.. надо просто дать им 404 код ошибки- чтобы поисковик их удалил..

    кстати, этот глюк касается известного магазина VamShop, так что решение может всем кто его юзает пригодиться..
     
  2. kotarosan

    kotarosan

    Регистр.:
    29 дек 2007
    Сообщения:
    169
    Симпатии:
    60
    Я еще только учусь
    поправьте, если ошибся

    Redirect Permanent ^html?sort$ http://sait/stranica
     
    Димитрий нравится это.
  3. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    285
    Симпатии:
    77
    надо проверить)) практика критерий истины- будет ли работать... хорошо если так- очень просто выглядит.
     
  4. kotarosan

    kotarosan

    Регистр.:
    29 дек 2007
    Сообщения:
    169
    Симпатии:
    60
    Сорри скорее всего ошибся, нужно зазеркалить знак вопроса

    Redirect Permanent ^html\?sort$ http://sait/stranica
     
  5. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    285
    Симпатии:
    77
    не получилось..
    на эту страницу так и заходит как раньше

    http://sun-mag.ru/pentalis.html?sort=price&direction=desc&on_page=10&page=2

    она как видите содержит html?sort=
     
  6. kotarosan

    kotarosan

    Регистр.:
    29 дек 2007
    Сообщения:
    169
    Симпатии:
    60
    хотелось бы взглянуть на файл .htaccess


    А если попробовать такой вариант

    RewriteEngine on
    RewriteBase /
    RewriteRule ^html\?sort$ http://sait/stranica [R=301]
     
  7. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    285
    Симпатии:
    77
    RewriteEngine On
    RewriteBase /

    RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L]
    RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L]

    RewriteRule ^(product_info|index|shop_content).php(.*)$ redirector.php [L]

    RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.js$ - [L]
    RewriteRule ^(.*).html(.*)$ manager.php [L]

    RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.php|\.js$ - [L]

    # PHP 5, Apache 1 and 2.
    <IfModule mod_php5.c>
    php_value magic_quotes_gpc 0
    php_value register_globals 0
    php_value session.auto_start 0
    php_value mbstring.http_input pass
    php_value mbstring.http_output pass
    php_value mbstring.encoding_translation 0
    php_value default_charset UTF-8
    php_value mbstring.internal_encoding UTF-8
    php_value mbstring.language Russian
    </IfModule>


    в таком виде сейчас.. поставил как у вас- снова не сработало
     
  8. kotarosan

    kotarosan

    Регистр.:
    29 дек 2007
    Сообщения:
    169
    Симпатии:
    60
    Что то не заглядывают к нам мэтры .htaccess

    Подсказали бы, где ошибки.

    Вот сегодня узнал о таком варианте
    RedirectMatch 301 ^html\?sort$ http://sait/stranica
     
  9. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    285
    Симпатии:
    77
    любопытно. попробую. я то разобрался как сделать..
    только вот при таком редиректе как у меня отдается код ошибки 200.
    кроме того- редирект там работает только на главную..на другие пишется ошибка.
    видимо дело в том- что все страницы еще идут в работу к
    redirector.php и manager.php судя по правилам



    RewriteEngine On
    RewriteBase /

    RewriteCond %{QUERY_STRING} ^.*sort=.*$
    RewriteRule ^.*html.*$ http://главная страница [L]



    RewriteRule ^product_reviews_write\.php\/info\/p(.*)_.*\.html product_reviews_write\.php\?products_id=$1 [L]
    RewriteRule ^product_reviews_write\.php\/action\/process\/info\/p([0-9]*)_.*\.html product_reviews_write\.php\?action=process\&products_id=$1 [L]

    RewriteRule ^(product_info|index|shop_content).php(.*)$ redirector.php [L]

    RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.js$ - [L]
    RewriteRule ^(.*).html(.*)$ manager.php [L]

    RewriteRule ^.*\.gif|\.jpg|\.png|\.css|\.php|\.js$ - [L]

    RewriteCond %{QUERY_STRING} ^.*sort=.*$
    RewriteRule ^.*html.*$ http://sun-mag.ru [L]


    # PHP 5, Apache 1 and 2.
    <IfModule mod_php5.c>
    php_value magic_quotes_gpc 0
    php_value register_globals 0
    php_value session.auto_start 0
    php_value mbstring.http_input pass
    php_value mbstring.http_output pass
    php_value mbstring.encoding_translation 0
    php_value default_charset UTF-8
    php_value mbstring.internal_encoding UTF-8
    php_value mbstring.language Russian
    </IfModule>
     
  10. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    Код:
    RewriteEngine On
    
    RewriteCond %{QUERY_STRING} ^.*sort=.*$
    RewriteRule ^.*html.*$ http://главная страница/? [L]
    
    или давать 301 - чтобы поисковикам приятнее было
    RewriteRule ^.*html.*$ http://главная страница/? [R=301,L]
    
    обрати внимание на вопросительный знак в конце, сам на этом когда-то споткнулся.
     
    pr0zz и Димитрий нравится это.
Статус темы:
Закрыта.