Переадресация URL; для общего использования, что лучше: на стороне сервера или на стороне клиента? - PullRequest
3 голосов
/ 06 ноября 2008

Возьмем в качестве примера очень простой случай, скажем, у меня есть этот URL:

http://www.example.com/65167.html

и я хочу предоставить этот контент по адресу:

http://www.example.com/about

ОБНОВЛЕНИЕ : обратите внимание, что «плохой» URL является каноническим (он создается CMS, которая использует его для внутренних ссылок), поэтому "/about" - это просто способ его полировки. *

У меня есть два широких варианта: перенаправление на стороне сервера или на стороне клиента. Я всегда думал, что серверная сторона будет предпочтительнее, так как она более эффективна, то есть HTTP-трафик примерно вдвое меньше. Тем не менее, методы SEO имеют тенденцию отдавать предпочтение одному URL-адресу ресурса, поэтому предпочтение отдается клиентской стороне.

Как вы решаете этот конфликт, и есть ли другие факторы, которые я пропустил?

Ответы [ 3 ]

4 голосов
/ 06 ноября 2008

Apache HTTPD mod_rewrite может оставить браузер, показывающий оптимизированный для SEO URL в своей адресной строке, при перенаправлении на числовой URL на сервере:

RewriteEngine on
RewriteRule ^/about$ /65167.html [L]
3 голосов
/ 24 ноября 2008

301 - неправильный подход к этой проблеме, если вы перенаправляете с / около на /65167.html. Ваша CMS будет понимать только 65167.html запрос, но 301 в основном говорит Google, что / о больше не существует и проиндексировать страницу 65167.html.

Игнасио прав. Вам нужно реализовать либо mod_rewrite, либо что-то подобное в зависимости от вашей платформы и скрыть CMS, предполагая, что вы действительно можете переписать все сгенерированные CMS ссылки на что-то более дружественное.

Перенаправление на стороне клиента, вероятно, слишком сложно для реализации, и перенаправление на стороне сервера вызовет два запроса к серверу.

2 голосов
/ 06 ноября 2008

Я уверен, что Google понимает 301 Перемещено постоянно .

...