2012-05-19 2 views
1

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

stackoverflow.com/questions/ask 

Я привык видеть это на страницах разрабатывает:

Example.com/ask.php 

Почему их URL не содержат имена страниц или значение ? Или это? Если да, то каким образом.

Спасибо.

+1

Это потому, что SO имеет фреймворк в фоновом режиме, чтобы разорвать этот URL-адрес и использовать его компоненты как значения и передать их одному управляющему скрипту. Это пример шаблона проектирования MVC (http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller). –

+0

Возможный дубликат [Создайте URL-адреса без расширений, таких как wordpress] (http://stackoverflow.com/questions/7029138/creat-urls-without-extensions-like-wordpress) и [многие, многие и многие другие] (http: /stackoverflow.com/search?q=urls+without+file+extensions) – Quentin

ответ

3

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

Часто URL-адрес будет rewritten.

1

Такие виды работ обычно выполняются с переписыванием URL-адресов. В зависимости от вашего сервера есть несколько способов его достижения.

Самым известным из них является mod_rewrite используется в файле .htaccessApache servers есть.

+0

.htaccess не имеет ничего общего с переписыванием. Это похоже на то, что пергамент - это Великая хартия, потому что слова написаны на пергаменте. Переписывание URL-адресов в Apache выполняется с помощью mod_rewrite, директивы которого могут быть введены в файл .htaccess. –

+0

@MarcB: Правильно (ed). –