Зачем нужен слеш в конце URL-адреса?
есть ли разница между этими URL-адресами в отношении наличия косых черт в конце URL-адреса?
https://drchrono.com/about_us
https://drchrono.com/about_us/
веб-фреймворки и веб-серверы (например, Apache, Nginx, Django) обрабатывают эти запросы по-разному?
5 ответов
в URL-адресах Django без косой черты автоматически добавляется косая черта. Это предпочтение разработчиков Django, а не жестко закодированное правило интернета (я думаю, что это на самом деле настройка в Django).
браузер будет относиться к ним по-разному, когда дело доходит до относительных URL-адресов. Страница:
http://server/path
С относительной ссылкой, такой как:
<a href='other'>
решим эту ссылку:
http://server/other
замена path
С other
. Тогда как если начальный URL был:
http://server/path/
тогда разрешенная ссылка будет:
http://server/path/other
если path
каталог, а не файл, большинство веб-серверов автоматически перенаправит от:
http://server/path
в:
http://server/path/
потому что это почти наверняка то, что вы имели в виду.
/ является символом разделения.
из RFC
некоторые схемы URL (такие как ftp, http и файловые схемы) содержат имена, которые можно считать иерархическими; компоненты иерархия разделена на"/".
наличие / в конце указывает, что в url может быть больше материала.
они обрабатываются как разные запросы, хотя они могут совпадать с одним и тем же ресурсом/обработчиком/подпрограммой в конце и обрабатываться одинаково.
поскольку один с / должен быть чем-то похожим на каталог, все относительные ссылки будут внутри / т. е. предыдущего/целевого/чего-то ... в то время как один без будет иметь относительные ссылки на том же уровне, что и предыдущий/что-то.
просто обратите внимание, что поисковые системы рассматривают их как 2 разные страницы. Таким образом, больно ваш seo.