2009-10-16 3 views
2

Я пытаюсь использовать SEO-дружественные URL-адреса для веб-сайта. На веб-сайте отображается информация иерархически. Например, если мой сайт был о машинах, я бы хотел, чтобы URL-адрес «http://example.com/ford» отображал все модели Ford, хранящиеся в моей таблице «cars». Затем URL-адрес «http://example.com/ford/explorer» отобразит все модели Ford Explorer (V-6, V-8, Premium и т. Д.).REALLY basic mod_rewrite question

Вопрос: Используется ли mod_rewrite для переписывания URL стиля строки запроса в семантический URL-адрес или наоборот? Другими словами, когда я использую JavaScript для установки window.location=$URL, должен ли URL быть строкой строки запроса 'http://example.com/page.php?type=ford&model=explorer' ИЛИ ​​я использую внутренне 'http://example.com/ford/explorer', что затем дает мне доступ к переменным строки запроса?

Надеюсь, кто-то может увидеть мое замешательство в этом вопросе. Для чего это стоит, у меня есть уникальные «пули», сделанные для всех моих категорий верхнего уровня (очевидно, сайт не о машинах).


Спасибо за помощь. Я переработал переписывание, но это затрагивает другие пути на сайте (CSS, JavaScript, изображения). Я использую правильную структуру пути для всех этих включений (например, «/images/car.png» и «/css/main.css»). Должен ли я использовать абсолютный путь ('http://example.com/css/main.css') для всех файлов? Благодаря!

+0

john, похоже, ваше редактирование задает совершенно другой вопрос. Существует множество способов исключить возможность перезаписи определенных файлов, типов файлов или URL-адресов. Я предлагаю вам найти уже опубликованные вопросы или задать новый вопрос со спецификой вашей проблемы. – bmb

ответ

3

как правило, люди, которые используют mod_rewrite использовать терминологию, как это:

Я хочу mod_rewrite переписать, чтобы быть B.

Это означает, что любой запрос из внешнего мира для страницы A переписывается в файл B на сервере.

Вы хотите внешний мир, чтобы увидеть URL, которые выглядят как

A) http://example.com/ford/explorer

но ваш веб-сервер хочет, чтобы они выглядели как

B) http://example.com/page.php?type=ford&model=explorer

Я сказал бы вам хотите переписать (A), чтобы он выглядел как (B), или вы хотите переписать семантический URL-адрес в URL строки запроса.

Поскольку все ссылки на вашей странице нажимают на пользователя и/или запрашиваются браузером, вы хотите, чтобы они выглядели как (A). Сюда входят ссылки, которые javascript использует в window.location. Они могут и должны выглядеть (A).

2

после того, как вы установили mod_rewrite, тогда ваши ссылки должны указывать на mod_rewritten версию URL (в вашем примере: http://mysite.com/ford/explorer). Внутренне в вашей системе вы все равно будете ссылаться на переменные, как если бы они были традиционными парами значений имени строки запроса.

Его также стоит отметить, что Google в настоящее время начинает выступать более логическую URL-адреса с точки зрения поисковой системы, то есть строки запроса по модулю переписывает

это значит, что следует избегать перезаписи динамического URL-адреса вообще? Это наша рекомендация, если только ваши перезаписывают только ненужные параметры , или вы - , очень усердно устраняющие все параметры , которые могут вызвать проблемы. Если преобразовать динамический URL в сделать его статическим, вы должны быть знать, что мы не могли бы быть в состоянии интерпретировать информацию правильно все случаи http://googlewebmastercentral.blogspot.com/2008/09/dynamic-urls-vs-static-urls.html

также стоит посмотреть: http://googlewebmastercentral.blogspot.com/2009/08/optimize-your-crawling-indexing.html

+0

sawgee, я бы не ссылался на «http://mysite.com/ford/explorer» как версию «mod_rewritten». После того, как URL был «mod_rewritten», я бы сказал, что он выглядит как «http://mysite.com/page.php?type=ford&model=explorer». Я всегда использовал слова mod_rewrite с точки зрения сервера. – bmb

+0

Думаю, я всегда смотрел на него наоборот, не задумываясь о точной семантике, не уверен, какой из них строго прав, но оба имеют смысл для меня. – robjmills

+0

Я понимаю, почему ОП путают. Разные люди относятся к нему по-разному. – bmb