2011-02-09 3 views
1

позволяет сказать, что у меня есть по этой ссылке: http://www.domain.com/content/view/1/seo-urlКак избежать дублирования контента? перенаправить 301/404?

сейчас, позволяет сказать, что пользователь misspeled по ссылке - http://www.domain.com/content/view/1/seo-urll

сейчас, я не хочу, чтобы он получил страницу 404, я хочу, чтобы перенаправить его на правая страница с правильным URL-адресом, НО - я не хочу создавать повторяющийся контент (со стороны Google).

Что делать?

header("...."); 
header("location: righturl"); 

ответ

1

303 See Other, я бы сказал. Либо это, либо canonical URL в теге <meta />.

На самом деле я в сомнении, так как 302 иногда называют 302 Found [Elsewhere]:

Это является примером отраслевой практики противоречащим стандарт HTTP/1.0 спецификации (RFC 1945), который требуется клиент для выполнения временного редиректа (оригинал описания фразы «Перемещенные Временно»), но популярные браузеры реализовали его как 303 см Другое, т.е. изменение типа запроса на GET независимо от что это было изначально. Таким образом, HTTP/1.1 добавил коды состояния 303 и 307, чтобы устранить двусмысленность между двумя типами поведения.

(wiki)

+0

Перенаправление 303 - это прежде всего ответы на запрос POST. Кроме того, ответ 303 не кэшируется. – Gumbo

2

Вы должны перенаправить пользователя с помощью 301 (никогда не использовать 302!) Заголовка. Вы не будете получать проблемы с содержанием в публике, и возможный linklove подходит к правильному URL-адресу.

+1

Почему никогда не 301? Я имею в виду, что «перемещение навсегда» не может быть идеальным описанием этой проблемы, но, по крайней мере, он передает pagerank в правильный URL-адрес. 302 не делает, так что все равно разделил бы пейджер на две страницы –

+1

стреляйте сейчас. Я имел в виду это наоборот. Я исправлю это быстро:) ( – Nanne

+1

Хех, рад поймать вашу ошибку. +1 сейчас :) –