• В httacess и RewriteRule нихрена не понятно.
    Какие подводные ками в том если я сделаю такой редирект
    Redirect permanent /-m=20091016.htm http://hostname.ru/m20100324.htm
    В поисковиках проиндексирована страница http://hostname.ru/-m=20091016.htm а сейчас она доступна только по адрессу http://hostname.ru/m20100324.htm

    С помошью такого редиректа можно решить проблему? Яндекс оставить страницу в индаксе? Если я сделаю редирект для 200 страниц это не будет как то тормозить сервер или ещё что то? Прошу просветить по этим вопросам =))

Просмотр 15 ответов — с 1 по 15 (всего 22)
  • Или лучше так написать:
    Redirect 301 /-m=20091016.htm http://hostname.ru/m20100324.htm
    я тут почитал, вроде должно работать, не знаю только насчёт второй части вопроса, тормозов

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Да, поисковые системы понимают код 301.
    2. 200 правил — всё же многовато 🙂 Если есть возможность сделать так, чтобы даты совпадали, можно было бы обойтись одним.

    что то я не понял, какие даты?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Новые со старыми в адресах страниц.

    можно сделать чтоб совпадали но там ещё и другие адресса есть, я не знаю по какому принципу строятся.
    -p=372.htm
    -m=20091003.htm
    -p=301.htm
    -paged=18.htm
    если можно для этого всего какое то одно правило написать это было бы круто =) но я вообще ничего в них не понимаю.

    Соответственно новые адресса
    p372.htm
    m20091003.htm
    p301.htm
    paged18.htm
    как бы различие в том чтоб убрать знаки «-» и «=», не подскажите как такое правило написать? 😀

    а вот как бы такое правило написать, чтоб заменить определённый символ на пустое место, т.е. просто его удалить?

    Вообще не работает. Даже если тупо пишу RewriteRule URL1 URL2 и всё равно не заменяется, что то не так, хостинг не причём, пробовал на разных.
    Вот что в файле .htaccess написал (добавил только одну строку):

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    RewriteRule http://www.hostname.ru/index.php?option=com_content&view=article&id=88:2009-05-29-06-45-14&catid=2:2009-05-12-14-18-38&Itemid=1  http://hostname.ru/index.phpoptioncom_contentviewarticleid882009-05-29-06-45-14catid22009-05-12-14-18-38itemid2
    </IfModule>
    # END WordPress

    Какие URL там не пиши ничего не заменяется, а должно же по URL1 переходить на URL2

    А это работает
    Redirect 301 /-m=20091016.htm http://hostname.ru/m20100324.htm
    я вообще нихрена не понимаю. Прочитал весь инет, должно работать и так
    RewriteRule http://hostname.ru/-m=20091016.htm http://hostname.ru/m20100324.htm
    но RewriteRule не работает хоть сдохни 🙁

    Вообщем я выяснил на практике если в адресе имеются специальные знаки, например «?» или «:» то rewrite не работает, если их убрать то всё отлично работате, но в моих адрсах как раз есть такие знаки.

    Модератор Yuri

    (@yube)

    Кванторы («специальные знаки»:)) надо экранировать.

    ок простейший пример
    RedirectMatch 301 /sdfsdfsdf\? http://hostname.ru/about
    НЕ РАБОТАЕТ
    hostname.ru/sdfsdfsdf? по этой ссылке ничего не открывается. Если убрать знак вопроса, всё работает. Я что то не так заэкранивровал? Можете конкретно помочь чем то? =)

    Модератор Yuri

    (@yube)

    Redirect — немного из другой оперы. Я писал про rewrite*, в которых работают регэкспы.

    Конкретно:
    RewriteRule m=([0-9]+)\.htm /showthread.php?t=$1 [L,R]
    редиректит /-m=189.htm на /showthread.php?t=189

    что же ты не ответил на конкретный пример? =) это у меня и так работает
    редиректит /-m=189.htm на /showthread.php?t=189
    а вот так вот, не работает, если квантор в левой части, я же про это и спрашивал
    редиректит /showthread.php?t=189 /-m=189.htm на

Просмотр 15 ответов — с 1 по 15 (всего 22)
  • Тема «Редирект» закрыта для новых ответов.