Или лучше так написать:
Redirect 301 /-m=20091016.htm http://hostname.ru/m20100324.htm
я тут почитал, вроде должно работать, не знаю только насчёт второй части вопроса, тормозов
1. Да, поисковые системы понимают код 301.
2. 200 правил — всё же многовато 🙂 Если есть возможность сделать так, чтобы даты совпадали, можно было бы обойтись одним.
что то я не понял, какие даты?
Новые со старыми в адресах страниц.
можно сделать чтоб совпадали но там ещё и другие адресса есть, я не знаю по какому принципу строятся.
-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 на