2010-01-07 4 views
0

Я нашел это article regarding URL Rewriting наиболее полезным. Но вот пара вопросов.URL Переписывание, SEO и кодирование

Я хотел бы использовать URL (до перезаписи с пробелами внутри строки запроса)

http://www.store.com/products.aspx?category=CD s-Dvd s 

Прежде всего, я должен заменить пространства со знаком плюс (+) по какой-либо причине? Пример:

http://www.store.com/products.aspx?category=CD+s-Dvd+s 

Во-вторых, мой родной язык является греческий. Должен ли я кодировать параметры? Вообще говоря, будет ли результат с кодировкой URL быть другим, в отношении S.E.O.?

ответ

0

Если значение должно прийти через неизмененном, то да, вы должны использовать побег. В значении параметра URL-запроса пробел может быть закодирован как + или %20. mod_rewrite, как правило, делает это для вас, если внешняя версия была надлежащим образом написана.

Во внешней версии URL, только 20% могут быть использованы:

http://www.store.com/products/CD%20s-Dvd%20s 
http://www.store.com/products.php?category=CD%20s-Dvd%20s 

потому, что в URL-путь части а + буквально означает плюс.

(Вы уверены, что хотите место там? «Компакт-дисков DVD» без пробелов, казалось бы, лучшее название.)

Это нетривиально, чтобы получить произвольные строки через от пути частично параметр. Помимо проблем с экранированием, у вас есть проблемы с /, которые должны быть закодированы как %2F в части пути. Однако по соображениям безопасности Apache по умолчанию блокирует любой URL-адрес, содержащий %2F. (\ аналогично затронуты Windows.) Вы можете отключить это поведение с помощью конфигурации AllowEncodedSlashes, но это означает, что если вы хотите быть переносным, вы не можете использовать «CD/DVD» в качестве названия категории.

По этой причине, и поскольку наличие в вашем URL-адресе %20 s является немного уродливым, строки обычно превращаются в «пули» перед тем, как помещаться в URL-адрес, где все спорные символы ASCII, которые приведут к видимые% -escap заменяются символами наполнителя, такими как дефис или подчеркивание. Это означает, что вы не можете округлить строку, поэтому вам нужно сохранить отдельный заголовок и пул в базе данных, чтобы иметь возможность искать правильный объект для данного пула или просто использовать дополнительный идентификатор в URL-адресе (например, Stack Overflow).

0

Общая практика заключается в замене пространства с подчеркиванием, ала http://www.store.com/products.aspx?category=CD_s-Dvd_s

1

На самом деле вы должны заменить пробелы дефисом. Это лучше для SEO, чем использование подчеркивания.

+0

И как мы это знаем? –

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

  • Нет связанных вопросов^_^