.htaccess URL Переписать Wordpress Старые постоянные ссылки - PullRequest
0 голосов
/ 25 января 2012

У меня есть блог, в котором были старые постоянные ссылки на основе даты.EG: Blog.com/2011/10/post-name

Мои новые постоянные ссылки теперь основаны на категориях и именах сообщений, но перед ними также стоит / blog /.Например: Blog.com/blog/category-name/post-name

Что мне нужно сделать в моем файле HT Access, чтобы преодолеть трудности?У меня есть что-то подобное, но в настоящее время не работает ..

#RewriteRule ^[0-9]{4}/[0-9]{2}/.*$ /blog/$1 [R=permanent,L]

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Похоже, это связано с перемещением сайта из / blog / в корневой каталог; это тот случай?

Если это так, вы должны найти / заменить URL-адреса в базе данных, чтобы не использовать правило .htaccess.

Этот запрос, запущенный в phpmyadmin, обновит руководство пользователя, чтобы избавиться от / blog / path:

UPDATE wp_posts SET guid = replace(guid, 'http://www.domain.com/blog/','http://www.domain.com/');

Вам также может понадобиться изменить URL-адреса в содержимом сообщения:

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.domain.com/blog/', 'http://www.domain.com/');
0 голосов
/ 25 января 2012

Если /blog/2011/10/post-name уже перенаправляет вас тоже /blog/category/post-name (убедитесь, что это 301), то все, что вам нужно сделать, это отправить /2011/10/post-name на /blog/2011/10/post-name

Вы можете сделать это с помощьюпоместите приведенные ниже правила в файл .htaccess в корне вашего сайта.

RewriteEngine on
RewriteBase /

#redirect blogs posts to /blog
RewriteRule ^([0-9]{4}/[0-9]{2}/.+)$ /blog/$1 [R=301,L]
...