.htacces - переместить все записи в корне в новую категорию - PullRequest
2 голосов
/ 11 апреля 2010

Может ли кто-нибудь помочь мне? Я в последнем салоне шансов и теряю много движения. Любая помощь будет принята с благодарностью.

Через год, основываясь на моей структуре постоянных ссылок, все записи были в корне, поэтому они были подобраны Google как:

snowmenu.com / postname

Поскольку меняются мои категории и структура постоянных ссылок, мне нужно перенаправить количество постов в Google на:

snowmenu.com / лыжный сноуборд-зима-спорт-новости / postname

Есть ли способ сделать это через .htaccess?

Большое спасибо всем, кто может мне помочь.

Ответы [ 3 ]

0 голосов
/ 11 апреля 2010

Вы можете использовать этот плагин, чтобы не связываться с файлом .htaccess напрямую: http://wordpress.org/extend/plugins/redirection/

Имеет приятный интерфейс для настройки правил перенаправления.

0 голосов
/ 13 апреля 2010

Плагин, упомянутый @Wordpress Hardcore, работает лучше всего.

0 голосов
/ 11 апреля 2010

Я только что заглянул на сайт, и, боюсь, насколько я знаю, их нелегкий способ переадресации с помощью .htaccess.

Это потому, что невозможно отличить структуру ссылки от «обычной ссылки», такой как (eg http://www.snowmenu.com/ski-resorts/), и от того, что вы хотите перенаправить на (eg http://www.snowmenu.com/ski-snowboard-winter-sports-news/latest-ski-news/). Если вы перенаправите все запросы, у вас будут ссылки типа http://www.snowmenu.com/ski-snowboard-winter-sports-news/ski-resorts/, которые, если я прав, нежелательны?

Длинным решением было бы создать перенаправление htaccess для КАЖДОГО URL.

Единственное другое решение, которое приходит на ум, - это использование PHP (или симуляции) для перенаправления в вашем документе 404.

EDIT
Это перенаправит ALL запросов на нужную страницу. Но, как я уже говорил, я не думаю, что это то, что вы хотите?

RewriteRule ^(?!ski-snowboard-winter-sports-news)(.*)$ /ski-snowboard-winter-sports-news/$1 [L,R=301] 

РЕДАКТИРОВАТЬ 2
Подумав об этом, я думаю, что нашел подходящий вариант. Он проверит, существует ли запрошенный файл, и если это так, он будет перенаправлен в ваш новый каталог (теоретически: P).

RewriteCond %{DOCUMENT_ROOT}/ski-snowboard-winter-sports-news/$0 -f
RewriteRule ^(.*)$ /ski-snowboard-winter-sports-news/$1 [R=301,L]
...