перенаправление старого сайта, основанного на htm, в постоянные ссылки WordPress - PullRequest
0 голосов
/ 23 декабря 2011

У меня странная проблема.

Я портирую старый, статичный, основанный на .htm сайт на WordPress, и я не хочу терять ни одного индексированного "сока", так как старый сайт работает уже 5 лет или около того.

Я использую следующую строку в моем htaccess, чтобы перенаправить все * .htm к их эквивалентам wordpress.

RedirectMatch 301 ^(.*)\.htm$ $1/

Это нормально работает на каждой странице, кроме страницы индекса, которая настаивает на перенаправлении в / index /, когда я перехожу к http://www.siteurl.com

Мой полный htaccess выглядит так

RedirectMatch 301 ^(.*)\.htm$ $1/
# 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

Я использую структуру /% postname% / permalink (проблемы с производительностью исправлены в 3.3)

1 Ответ

1 голос
/ 23 декабря 2011

Попробуйте заменить ваш .htaccess ниже.Каждая страница .htm, за исключением index.htm (который, я подозреваю, используется по умолчанию при доступе к домашней странице), будет перенаправлена ​​

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#if the page is not index.htm
RewriteCond %{REQUEST_URI} !index\.htm$ [NC]
#redirect it
RewriteRule ^(.+)\.htm$ $1/ [L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...