Что выбрать: ставить или не ставить слэш на конце URL?

elfchat.ru/ru/signup
elfchat.ru/ru/signup/
Знаю что вопрос простой: нужно просто выбрать, но я почему то не могу. Мечусь из стороны в сторону. Прошу помощи!


PS elfchat.ru/ru/signup.html
  • Вопрос задан
  • 26996 просмотров
Пригласить эксперта
Ответы на вопрос 17
mentalic
@mentalic
Вот так пишите ВСЕГДА
www.mydomain.com/site/pages/

Тоесть используйте слеш в конце ВСЕГДА
(кроме адресов файлов: www.mydomain.com/index.htm)

Этим Вы упрощаете работу веб серверу!
(экономите ресурсы планеты, энергию, время....)

Так как если слеш не указать, сервер должен будет
проверить является ли это адресом веб страницы,
тоесть если по указанному пути такой файл,
а если нет, значит это директория.
А вот когда вы указали в конце слеш,
веб сервер СРАЗУ поймет что вы имеете
ввиду именно директорию!
Ответ написан
mentalic
@mentalic
я в шоке…
я итак уже детскими словами написал,
а тут еще и минусов наставили…
Ответ написан
ozware
@ozware
Яндекс, если видит урл без слеша, иногда проверяет такой же урл, но со слешем. В этом случае важно делать 301-й редирект на страницу без слеша (в друпале для этого есть специальный модуль, кажется, GlobalRedirect называется).

Ошибкой будет выдавать одинаковую страницу со слешем и без, т.к. это дубли страниц и могут быть санкции поисковых систем.

Ну это все с точки зрения СЕО. А с практической точки зрения — абсолютно все равно как делать, только считается, что со слешем по смыслу должен быть каталог чего-то, а без — страница.
Ответ написан
@IlVin
В www.ietf.org/rfc/rfc1738.txt этот вопрос не регламентирован.

; HTTP
httpurl = «http://» hostport [ "/" hpath [ "?" search ]]
hpath = hsegment *[ "/" hsegment ]
hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
search = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

Хотите ставьте '/' в конце, а хотите не ставьте — главное, чтобы ваш сервер этот URL понимал.

Проблемы подстерегают с другой стороны — обычно браузер получает HTML документы, в которых могут быть картинки, с относительными URI, для которых браузер вычисляет абсолютный URL и получается веселуха: /path/to/page.html/image.gif и т.п.

Так что совет — для папок в конце пишите '/', а для файлов не пишите. И тогда браузер правильно вычислит адреса для подключаемых ресурсов.
Ответ написан
@pazitiffcheg
Для тех, кто утверждает, что слеш в конце url нужно ставить и что веб-сервер очень напрягается, если слеш не поставить, прошу выложить кусок кода из apache или nginx отвечающий за реализацию данного алгоритма - это же opensource проекты, всё в свободном доступе.
Поисковикам же совершенно всё равно, по какому адресу обрабатывать страничку, главное чтоб небыло задвоения, поэтому в правилах веб-сервера делаем 301 редирект на какой либо из вариантов.
Поисковики не панацея интернета, и как заметил уважаемый IlVin IlVin
"В www.ietf.org/rfc/rfc1738.txt этот вопрос не регламентирован."
Поисковики пишут универсальные алгоритмы для того чтобы их поиск был качественен, но они не распоряжаются, как должен работать тот или иной веб сервер. Есть запрос по url и есть ответ - всё просто.
Сам я терпеть не могу, когда попадается сайт со слешами на конце особенно г..сайтах. Сайту и так плохо, так еще какой то не компетентный СЕОшник еще больше его запорол.....

Люди, не перебарщивайте и не втирайте про слеш на конце, он там вообще не нужен, т.к. в url нет понятия "Директория" - это не файловая система. URL - это адрес, состоящий из символов, слеш определяет структуру адреса, только и всего.
Ответ написан
Zazza
@Zazza
сейчас понапишут координально разных мнений и ещё больше вас запутают =) Лично моё мнение, слеш для директорий (в случае роутинга, ессесна не настоящих), файлы соответсвенно без слеша.
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
Ставить. Только так можно обеспечить единообразные URL-адреса вне зависимости от того, как именно они реализуются: серверным движком или просто index-файлом в физической папке.

И желательно делать редирект с адреса без слэша на адрес на канонический адрес со слэшом.
Ответ написан
По-моему, надо исходить из семантики: если страница example.com/path/to/page является обычной контентной страницей, грубо говоря, файлом без расширения в терминах ФС, то слэш ставить не нужно; если является «агрегирующей функцией» своих элементов (список, например), особенно если к ним можно обращаться как к example.com/path/to/page/element — слэш нужен.
Ответ написан
vanxant
@vanxant
Сколько людей, столько и мнений.
Технических предпосылок, которые бы прямо решали, нет.
Мне лично нравится без слэша на конце. Типа firma.ru/contact
Ответ написан
akalend
@akalend
программирую
делаю новый проект
предусмотрен слеш в конце адресной строки,
если это конечно не конкретный файл ( image.png )
Ответ написан
kashey
@kashey
Программирую большую половину жизни
правильнее со слешом, так как «образно говоря» site.ru/path/to/page/ подразумевает site.ru/path/to/page/index.html (более того если вы напишите site.ru/path/to/page/index.html тотже гугль будет долбиться в итоге в site.ru/path/to/page/)
а если вы напишите site.ru/path/to/page это будет ссылка на непонятно что.
Другое дело может быть например в случае site.ru/path/to/last.page
также совершенно валидно site.ru/path/to/page.html

Не думайте как правильно — подумайте как «семантичней»
Ответ написан
Riateche
@Riateche
Например, Chrome в адресной строке убирает из адреса http:// в начале и слеш в конце. Считается, что это повышает читаемость.
Ответ написан
savostin
@savostin
Еще один программист
Сейчас уже такие URL делают, что закачаешься:
http://www2.sub.domain.com/fol.der/#/my_page:here.html?bla=bla&foo=bar

Так что пишите как хотите — всем пофиг что там в строке адреса.
По поводу замечания о СЕО теоретически согласен, но думаю поисковики уже и с этим разбираются.
Ответ написан
bubuq
@bubuq
Никаких «файлов» у веб-сервера нет. Есть запросы, в ответ на которые сервер может выдать тот или иной контент. ИМХО, если в УРЛе встречается "/index.html", что-то очень не то с разработчиками или админами.

Слеш или не слеш — зависит от настроек сервера. Как правило, УРЛ без слеша приводит к дополнительному запросу на сервер, за исключением запроса на рут сервера:

www.domain.com и www.domain.com/ обрабатываются одинаково.
Ответ написан
rewon
@rewon
Разрабатываю крутые Сайты, Маркетолог
Добавлю свои 5 копеек.
Если смотреть на урл, чисто человечески, мне нравится со слеш на конце/, так для меня понятно, что это конец ссылки. Но а если рассматривать вопрос СЕО, что как было написано выше, нет разницы.
Пойдем по простому пути и посмотрим как сделано в ТОП интернет магазинах:
wildberries.ru - нет
eldorado.ru - есть /
citilink.ru - есть /
dns-shop.ru - есть /
mvideo.ru - нет
rozetka.com.ua - есть /
ozon.ru - есть /
apteka.ru - есть /
market.yandex.ru - нет
holodilnik.ru - есть /

то есть 8/3 , значит большая часть магазинов работает с / на конце)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы