2010-09-01 3 views
0

Мне пришлось изменить структуру ссылок на моем сайте и сохранить значение моего SEO. Я пытаюсь настроить 301 правило на основе htaccess.301 redirect using htaccess

Моя старая установка была такая:

http://www.domain.com/news/23/some-text-here

Моя новая установка такова:

http://www.domain.com/read/some-text-here

RewriteCond ^(news)/([0-9]*)/(.*)$ 
RewriteRule ^(.*)$ http://www.domain.com/read/$3 [L,R=301] 

Описанный выше метод дает мне сервер внутреннюю ошибку сервера. Надеюсь, кто-то может сказать мне, что я делаю неправильно!

Заранее спасибо

ответ

1

Ну для одного, вы RewriteCond отсутствует строка для проверки против. Базовый синтаксис

RewriteCond TestString Pattern 

Например:

RewriteCond %{REQUEST_URI} ^/(news)/([0-9]*)/(.*)$ 

См: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond , а также убедитесь, что переписывают двигатель включен, прежде чем что-нибудь еще:

RewriteEngine On 
+0

я на самом деле это до две строки, которые я разместил: RewriteEngine on RewriteCond% {REQUEST_URI}! -f – Kristian

+0

RewriteCond% {REQUEST_URI} ^/(новости)/([0-9] *)/(. *) $ RewriteRule^(. *) $ Http://www.domain.com/read/$3 [L, R = 301] У меня проблемы с заполнением $ 3 - Можете ли вы сказать мне, что я делаю неправильно? – Kristian

+0

Я понял это !. Спасибо за вашу помощь – Kristian