Xpoint
   [напомнить пароль]

ЧПУ -- как правильно составлять урл?

Метки: [без меток]
2004-11-28 21:31:12 [обр] Соловьев Максим aka Adept(0/3)[досье]

Здравствуйте.

Скажите, пожалуйста, как правильно составлять URL? До недавнего времени я предполагал, что примерами правильного информационного дизайна являются:
www.mysite.com/news/
www.mysite.com/section1/subsection1/

Но глядя на многие сайты (в числе которых google.com, mozilla.org), я начал сомневаться в правильности такого подхода. Многие используют .html расширение в своих адресах (например http://www.mozilla.org/news.html)

К тому же гугл поощряет использование .html расширений.

То есть, получается, что ".html" теперь (по их логике) это не просто расширение, а показатель "линейного" текстового контента? "Линейного" в том смысле, что он влияет на иерархию страницы.

Буду рад услышать дельные мысли по этому поводу.

спустя 1 час 2 минуты [обр] Давид Мзареулян(1/1003)[досье]
спустя 1 час 28 минут [обр] Алексей В. Иванов(3/2861)[досье]
Соловьев Максим aka Adept[досье]
Если выбирать между "голым путем" и расширением .html, то я бы выбрал первое. По-моему с индексированием "defaultIndex" проблем у поисковых машин нет.
спустя 2 дня 14 часов [обр] Алексей Волков, он же «Росомаха из Флориды»(17/468)[досье]

К слову, и гугл, и мозилла обычно кладут такие файлы статикой, чтобы лишний раз не нагружать сервер без необходимости (так как необходимость дополнительных ресурсов возникает постоянно, эти сервера постоянно под нагрузкой и большим потоком посетителей).

Принцип Keep It Simple в действии, и не стоит путать его с излишним мудрствованием разработчиков.

спустя 3 часа 36 минут [обр] Соловьев Максим aka Adept(0/3)[досье]

Давид Мзареулян[досье]
Да, уже прочитал, спасибо :)

Алексей Волков, он же «Росомаха из Флориды»[досье]
А что мешало разработчикам положить статичный index.html в /news/ на гугле, к примеру?

спустя 14 часов [обр] Юрий Щапов(3/114)[досье]
Соловьев Максим aka Adept[досье]Вот именно! Мне тоже неясно.
Вы сами подумайте, мешает расширение файла пониманию или нет?
news/today/
news/today.html
спустя 19 часов [обр] Дмитрий Котеров(2/912)[досье]

Вообще, добавление index.html плохо тем, что:

  • Из названий "выпадает" одно имя (а именно, index), становясь как бы "стандартным".
  • Непонятно, что делать с URL вида /aa/bb (без index.html на конце), если пользователь все же его наберет (см. ниже).

Хорошо же оно тем, что:

  • Путей /aa/bb/ вообще нет нигде (можно такого добиться).

Применение путей вида /aa/bb/ хорошо тем, что

  • Не теряется одно имя (в данном случае index.html принципиально ничем может не отличаться от news.html).
  • Кроме того, сразу видно, что данная страница содержит что-то типа "сводного каталога" текущего раздела, и есть смысл подозревать, что на ней, как минимум, есть ссылки на все /aa/bb/*.html.

Однако есть и минусы:

  • Легко перепутать /aa/bb/ c /aa/bb (слэша на конце нет). Разница для браузера тут колоссальная: в первом случае он берет картинки относительно /aa/bb/, а во втором - относительно /aa/. Можно, конечно, настроить авторедирект с /aa/bb на /aa/bb/ (по сути, Apache по умолчанию так и делает для директорий), однако это решение все же кривовато (приходится в скриптах учитывать и пути вида /aa/bb, и /aa/bb/, что весьма неудобно).
  • Та же Мозилла при попытке сохранить на диск страницу /aa/bb/ теряется и предлагает ее записать под именем TITLE.html (где TITLE - <title> страницы). В то время как с index.html такого нет: предлагается сохранить в файл index.html.

Самое плохое - это когда одна и та же страница имеет три имени:

  1. /aa/bb/index.html
  2. /aa/bb/
  3. /aa/bb

В подавляющем большинстве случаев, кстати, так и есть. Но это порождает огромную путаницу: все же ресурс должен быть доступен под единственным именем, а не под сразу тремя!

В общем, вопрос сложный. Главным образом связан с тем, что браузер не знает, является ли текущий URL "файлом" или "директорией" (обратите внимание на кавычки - они не напрасно проставлены).

спустя 8 часов [обр] Сергей Круглов(10/2057)[досье]

Если страницы используют иллюстрации, свои для каждой картинки (что логично), то при хранении каждой страницы в виде /aa/bb/ мы тривиально имеем у каждой личную директорию для хранения картинок (bb).

Где хранить "личные" картинки в случае /aa/bb.html /aa/cc.html и пр. не очень ясно... Вернее, этим надо отдельно заморачиваться - либо создавать опять же каждой странице по директории, либо следить за конфликтами имен картинок, чтоб image.gif из bb.html не затерла image.gif из cc.html

спустя 43 секунды [обр] Сергей Круглов(10/2057)[досье]
поправка - Если страницы используют иллюстрации, свои для каждой страницы ...
спустя 2 часа 32 минуты [обр] Давид Мзареулян(1/1003)[досье]
Дмитрий Котеров[досье] Вот интересно, отчего моя личная Мозилла (FF 1.0) при сохранении /aa/bb ни фига не теряется, а спокойно сохраняет bb.htm? Причём это уже далеко не в первый раз моя Мозилла не желает следовать Вашим рекомендациям:) По поводу остальной части постинга — извните, тут всё целиком и полностью забота автора ЧПУ-движка. Есть принцип: один документ — один урл. А какой этот урл должен быть: /aa/bb или /aa/bb/ — это личное дело движкописателя. Разумеется, если он сделает законными оба (а то и все три - с индексом) варианта, то тем подложит свинью исключительно самому себе.
спустя 2 часа 31 минуту [обр] Дмитрий Котеров(2/912)[досье]

Давид Мзареулян[досье]
Потому что кто-то плохо читает: речь шла не о /aa/bb (кстати, мы уже говорили об этом случае), а об /aa/bb/. Вы что же, совсем ничего не поняли про пути? :-))

А какой этот урл должен быть: /aa/bb или /aa/bb/ — это личное дело движкописателя

Это было бы так, если бы браузер не делал предположений относительно путей к картинами. Я зачем предыдущий постинг, по-Вашему, писал? Для развлечения? (Хотя, конечно, и для этого тоже.)

спустя 18 минут [обр] Давид Мзареулян(1/1003)[досье]
Дмитрий Котеров[досье] Значит, не используйте пути, оканчивающиеся на слэш. Неужели это так сложно?
И, господи, ну при чём тут ОПЯТЬ пути к картинкам? При работе с ЧПУ НЕЛЬЗЯ использовать относительные адреса. Это аксиома. Именно потому что в этом случае путь запроса не маппируется на файловую структуру. Я уж не знаю, для развлечения Вы это пишете или нет — сто раз уже этот вопрос обсуждался.
спустя 57 минут [обр] Дмитрий Котеров(2/912)[досье]
При работе с ЧПУ НЕЛЬЗЯ использовать относительные адреса. Это аксиома.
Да вот не согласен категорически. Все зависит от движка.
Короче говоря, ладно. Закроем тему.
Powered by POEM™ Engine Copyright © 2002-2005