2017-02-13 11 views
2

У меня есть блог Wordpress со следующей структурой URL:Wordpress Блог Сообщение Redirect (1000 сообщений)

www.mysite.com/2016/09/the-name-of-the-post/

Однако я заметил, что для SEO причин, было бы лучше, чтобы иметь структуру, как:

www.mysite.com/blog/the-name-of-the-post/

у меня есть около 1000 сообщений с «старая» структура URL. Я могу изменить структуру URL в wordpress. Однако мне понадобится перенаправление 301, если кто-то попытается получить доступ к сообщению с использованием старого URL-адреса.

E.g.

человек/Google бот пытается получить доступ к странице с помощью/2016/09/имя-

-> 301 Перенаправление в/блог/имя-

Что является лучшей практике сделать это? Я добавляю 1000 строк в файл .htaccess и делаю перенаправления? Может ли это отрицательно повлиять на время отклика сервера, а Apache должен сначала проверять длинный список переадресаций?

Могу ли я настроить файл в текстовой структуре wordpress, который проверяет, включена ли запрошенная страница, например. массив, он перенаправит его на новый URL-адрес?

Большое спасибо за ваши предложения

+0

Связанные: [Ссылка: mod_rewrite, переписывание URL и «красивые ссылки» объяснено] (http://stackoverflow.com/questions/20563772/reference-mod-rewrite-url-rewriting-and-pretty-links-explained) ,Это может быть даже дубликат, хотя я не уверен, что Wordpress имеет некоторые встроенные средства для обработки этого. – HPierce

ответ

2

Вы можете просто изменить структуру URL в WordPress на тот, который вы хотите иметь. Вам не нужно изменять ваш .htaccess или что-то еще.

WordPress поймет, на какую публикацию ссылается URL-адрес и автоматически перенаправляется на новый канонический URL-адрес.

Просто зайдите на страницу администрирования Permalinks и выберите опцию «Почтовое имя» as described in the Codex.

Однако, если вы вводите префикс вроде /blog/, вы также должны перенаправить на новую базу URL-адресов через .htaccess, например.

RedirectMatch 301 ^/[0-9]{4}/[0-9]{2)/(.+)$ http://example.com/blog/$1 // taken from stackoverflow.com/a/42211746/ 
+0

Если я это сделаю, я получаю ошибку 404 при доступе к сообщению в блоге с использованием старого URL-адреса. – Tom

+0

. Вы ранее настроили общий фрагмент Word.Htaccess в соответствии с https://codex.wordpress.org/Using_Permalinks#Creating_and_editing_.28. htaccess.29? Если нет, то, конечно, вы должны добавить его один раз. После этого WP обычно будет перенаправлять сообщения правильно. – lxg

+0

@Tom: Чтобы получить эту идею, попробуйте существующий блог WP. Например, URL https://wordpress.org/news/wordpress-4-7-2-security-release/ является тем, который указывает на сообщение на wp.org, но с «неправильной» структурой постоянной ссылки. Обратите внимание, как вы перенаправляетесь на https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/. Это делается WordPress внутренне. – lxg

1

Вы можете использовать следующее Перенаправление

RedirectMatch 301 ^/[0-9]{4}/[0-9]{2)/(.+)$ http://example.com/blog/$1 

Это будет перенаправлять все адреса из этой формы /1234/12/Foobar к этому /блог/Foobar

1

Смените permalink к новой структуре и добавить это в ваш .htaccess

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)/$ http://example.com/blog/$3 
0

У меня была такая же проблема, но я разрешаю эту проблему, используя простой плагин 301 переадресации. https://wordpress.org/plugins/simple-301-redirects/ Вы можете перенаправить 301 переадресации, используя массовые надстройки для загрузки этого плагина. Надеюсь, это вам поможет.