Я недавно импортировал старый Blogger в Wordpress ( с тем же доменом !).
Все работает нормально, но мне НУЖЕН редирект 301 для SEO и общих ссылок, чтобы все старые посты, имеющие структуру Blogger "www.mysite.com/post-title-truncated.html", теряли .html в конец, и Wordpress, мы надеемся, получит этот пост (иногда Wordpress достаточно любезен, чтобы угадать постоянную ссылку на пост, даже если он немного другой или неправильный).
Итак, поскольку у меня есть собственная структура сообщений, Wordpress уже добавил свои собственные стандартные правила в мой .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Первое, что я попытался сделать, чтобы избавиться от старого .html в постоянных ссылках на посты, было следующее (после правил Wordpress):
RedirectMatch 301 ^(.*)\.html$ http://www.mysite.com/$1
Это прекрасно работает: он избавляется от старого .html из импортированных постов Blogger, и обычно Wordpress угадывает правильный пост, даже когда (старая) постоянная ссылка усекается.
Проблема?
Теперь он добавляет «index» в конце URL-адреса домашней страницы (www.mysite.com/), возвращая 404. Все остальные ссылки в порядке.
Я почти уверен, что это связано с правилами Wordpress, но я просто не могу найти способ избавиться от .html + заставить Wordpress найти сообщение даже с усеченной постоянной ссылкой + не иметь этого кровавого "индекса" в конце после www.mysite.com/ URL домашней страницы.
Есть идеи ??