URL без имени файла - PullRequest
       11

URL без имени файла

5 голосов
/ 15 марта 2010

Я видел такие URL, как website.com / admin / , которые на самом деле не показывают "index.html" или имя файла после последней косой черты. Как это достигается?

Спасибо!

Ответы [ 10 ]

9 голосов
/ 15 марта 2010

URL-адрес указывает местоположение ресурса, но этот ресурс не должен фактически отображаться в физический файл на сервере. Сервер должен решить, как обработать URL-адрес и как сгенерировать возвращаемый ресурс.

Большинство веб-серверов начинали с обслуживания всех ресурсов из файлов. Таким образом, большинство веб-сайтов имеют свои страницы в виде файлов, а URL-адреса, которые они распознают, имеют соответствующую форму. Если веб-сайт все еще использует файловый веб-сервер, его можно настроить для обслуживания определенного документа по умолчанию, если файл не указан.

Тем не менее, в последнее время наблюдается значительный прогресс в разделении URL-адресов и самих файлов. Обычно это достигается с помощью документов по умолчанию (где веб-сервер настроен для обслуживания определенного файла, если URL-адрес не указывает его), маршрутизации URL-адресов (где веб-сервер направляет обработку запроса на основе внутренних правил, которые сопоставляют входящий URL-адрес с реальными ресурсами) , Перезапись URL (где запрос URL перезаписывается на другой URL перед обработкой) или их комбинация.

В частности, инфраструктуры MVC во многом зависят от маршрутизации URL-адресов, поскольку URL-адреса, предоставляемые веб-приложением на основе инфраструктуры MVC, указывают не местоположение файла на сервере, а фактически путь выполнения кода для Интернета. приложение. Например, http://example.org/user/details/12345 не будет указывать файл 12345 в папке / user / details, но будет указывать, что метод Details для класса User должен вызываться с параметром 12345 для генерации ответа.

3 голосов
/ 15 марта 2010

Конфигурация веб-сервера отображает URL-адрес ресурса. Чаще всего это файл, такой как index.HTML или index.php, но файл не обязательно должен быть настроен - веб-сервер может быть настроен для обслуживания индекса по умолчанию (или любого другого URL), возвращая содержимое, сгенерированное модуль или cgi. Не требуется однозначного соответствия между URL-адресами и файлами.

1 голос
/ 15 марта 2010

В дополнение к файлу по умолчанию (index.html, default.htm, default.aspx, ...) большинство веб-серверов допускают перезапись URL, что означает, что вы можете сопоставить любой URL с любым ресурсом. См. Модуль Apache mod_rewrite, или Маршрутизация приложений и запросов Windows, или модули перезаписи ISAPI.

1 голос
/ 15 марта 2010

Это зависит от настроек вашего http-сервера (apache ...). Например, он автоматически загрузит ваш index.php, если он существует в каталоге.

EDIT:

При такой настройке ваш браузер не изменит адрес с http://site.com/ на http://site.com/index.html

1 голос
/ 15 марта 2010

В таких ситуациях веб-сервер перезаписывает URL в реальный файл (обычно «index.html» или «default.html»).

1 голос
/ 15 марта 2010

На большинстве веб-серверов есть опция конфигурации, которая позволяет администратору устанавливать один или несколько файлов для поиска, если имя файла не найдено. Часто они также позволяют вам установить это в каталоге по уровню каталога.

Еще одна возможность, в зависимости от сайта, заключается в том, что он использует технологию для преобразования (или «переписать») URL-адреса на лету, чтобы URL-адреса, введенные пользователем, были более значимыми для пользователя. Этот метод распространен для сайтов, созданных с использованием шаблонов MVC.

0 голосов
/ 12 июля 2012

Так как ни у кого нет правильного ответа, это:

Большинство веб-серверов ищут индексный файл index.html. То, что вы видите как /admin, является каталогом или «папкой». Итак, что вам нужно сделать, это создать папку с вашим веб-хостом и поместить туда свои файлы, не забудьте переименовать файл, который хотите отображать при переходе от /Whatever к index.html ...

0 голосов
/ 15 марта 2010

Есть как минимум три разных способа ...

  1. Использовать документы по умолчанию
  2. Использовать Перезапись URL
  3. Использование MVC
0 голосов
/ 15 марта 2010

Помимо того, что веб-сервер выполняет какое-то автоматическое угадывание имени файла, возможно, существует специальное приложение, которое обрабатывает URL-адреса самостоятельно. URL-адрес - это просто URL-адрес, сопоставление 1: 1 с именем файла - это просто один способ сделать это.

0 голосов
/ 15 марта 2010

Возможно, документ по умолчанию настроен или веб-сайт использует MVC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...