2012-05-16 3 views
0

У нас есть это правило перезаписи, но у нас возникают проблемы с тем, что ссылки на страницы «Следующие» не работают. Это пример URL-адреса, который не работает: http://www.mydomain.com/blog/page/2/ перенаправляется на http://www.mydomain.com/page/2/ (который отображает домашнюю страницу сайта).Правило перенаправления Htaccess не работает

Вот текущие правила:

RewriteCond %{REQUEST_URI} /blog/$ [NC] 
RewriteRule (.*) %1 [L] 
RewriteCond %{REQUEST_URI} !^blog/$ [NC] 
RewriteRule ^blog/(.*)$ http://www.mydomain.com/$1 [R=301,L] 

Мы ранее наши посты в блоге находятся под/блог/папку, но новый сайт теперь оказаны посты блога на корневом уровне (HTTP: // www.mydomain.com/category/some-blog-post/). Таким образом, это правило перенаправляет старые индексированные записи в блог на новую структуру URL.

Любые предложения? Заранее спасибо.

ответ

0

IIRC вы хотите перенаправить www.mydomain.com/blog/<anything> в www.mydomain.com/<anything>

Если это верно, то единственное, что нужно, чтобы должно быть:

RewriteRule ^blog/(.*) /$1 [R=301,L] 

EDIT

Ok, после точностях в комментарий:

RewriteCond %{REQUEST_URI} ! ^/blog/page.* 
RewriteRule ^blog/([^/]+)/(.*) /$1/$2 [R=301,L] 
+0

Не совсем. У нас все еще есть «домашняя страница» блога, находящаяся в/blog /, а ссылки с разбивкой по страницам по-прежнему находятся на http://www.mydomain.com/blog/page/X/. Мы просто перенаправляем старые отдельные сообщения в блоге из/blog/category/some-blog-post/to/category/some-blog-post/ – brentnau

+0

Хорошо, см. Мой отредактированный ответ. – gregseth

+0

Этот скрипт создает ошибку 500 при ее реализации. – brentnau

Смежные вопросы