Page 1 of 1
Смена путей через 301 редирект
Posted: Thu May 30, 2013 8:30 am
by Abraham777
Решил оптимизировать старый сайт на Вордпресс, перенес на сервер с Вестой.
УРЛы типа сайт.ру/раздел/статья/, сайт.ру/раздел/подраздел/статья/. Должны стать сайт.ру/статья. Как нужно прописать в htacсses 301 редирект? Или надо делать через правила Nginx?
Re: Смена путей через 301 редирект
Posted: Thu May 30, 2013 11:59 am
by skid
Эти правила можно добавлять в .htaccess
Code: Select all
Redirect 301 /раздел/статья/ http://сайт.ру/раздел/подраздел/статья/
Re: Смена путей через 301 редирект
Posted: Fri May 31, 2013 5:12 am
by Abraham777
Помогло
RewriteRule ^category/post/(.*)$ post/$1 [R=301,L]
но только для статей сайт.ру/раздел/статья/.
Для статей с подкатегорий сайт.ру/раздел/подраздел/статья как надо прописать используя регулярные выражения вордпресс?
Статей много, вручную не получится.
Re: Смена путей через 301 редирект
Posted: Sat Jun 01, 2013 5:39 am
by Abraham777
RewriteRule ^category/subcategory/post/(.*)$ /post/$1 [R=301,L] или
RewriteRule ^category/category/post/(.*)$ /post/$1 [R=301,L]
не работает, то есть с подкатегорий не получается. Может это связанно с правилами Nginx?
Re: Смена путей через 301 редирект
Posted: Sat Jun 01, 2013 10:21 am
by skid
Попробуйте добавить заголовок RewriteEngine On, если его нет.
Code: Select all
RewriteEngine On
RewriteBase /
RewriteRule ^category/category/post/(.*)$ /post/$1 [R=301,L]
У меня этот редирект сработал без проблем.
Code: Select all
[root@nxt public_html]# curl -I http://nxt.vestacp.com/category/category/post/test
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sat, 01 Jun 2013 10:17:57 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Keep-Alive: timeout=60
Location: http://nxt.vestacp.com/post/test
Re: Смена путей через 301 редирект
Posted: Sun Jun 02, 2013 5:16 pm
by Abraham777
RewriteRule ^category/category/post/(.*)$ /post/$1 [R=301,L] редиректит некоторые подразделы, некоторые нет. Как такое может быть?
Кеш прочишен (удалены все плагины кеша)
файл .htaccses
****************************************************************************************************************************
<Files .htaccess,.svn>
order allow,deny
deny from all
</Files>
Options +FollowSymlinks
<IfModule mod_rewrite.c>
</IfModule>
# End of Redirection
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^category/category/post/(.*)$ /post/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress