короче: вы не можете этого сделать. Как уже упоминалось, PHP - это серверный язык , что означает, что он не может управлять браузером (то есть не позволяет кому-либо изменять URL). Прочитайте и перейдите по ссылкам в Как работает PHP? , чтобы узнать разницу между языками на стороне сервера и на стороне клиента.
Статьи Wikipeda World Wide Web , Унифицированный указатель ресурса (URL) и Веб-сервер также могут быть интересны для вас, чтобы получить базовое понимание того, как WWW работает и что это за URL.
Но вы можете контролировать, какие файлы могут быть доступны. Есть два способа:
Конфигурация веб-сервера
Большинство (каждый?) Веб-сервер позволяет вам настраивать правила для управления тем, какие файлы должны быть доступны (также как контроль доступа). Ее пример, как это сделать с помощью веб-сервера Apache .
PHP: Фронт-контроллер
Вы также можете сделать это с помощью PHP напрямую (и немного настроить веб-сервер). Волшебное ключевое слово ей - шаблон Front Controller . Это, например, класс, который действует как единая точка входа в ваше приложение. Это означает, что каждый запрос, например до
http://localhost/Website/home.php
или
http://localhost/Website/foo/bar.php
перенаправляется (пересылается, но вы хотите назвать его) и обрабатывается
http://localhost/Website/index.php
Таким образом, в конечном итоге вы можете и должны решить, какой контент получает пользователь, чтобы увидеть, пытается ли он получить доступ к определенному URL.
Это дает вам больший контроль над (внешним видом) URL, но вы должны приложить больше усилий для его настройки.
Если вам интересно, как это работает, я предлагаю взглянуть на Zend Framework , который реализует этот шаблон.
Открытый вопрос ...
Хотя вы можете сделать это, вопрос в том, нужно ли вам это делать. Если вы не хотите, чтобы home.php
был доступен, почему вы сначала размещаете его на своем веб-сервере?
Или, возможно, у вас неправильная картина структуры сайта в вашей голове. Веб-сайт single состоит из нескольких страниц (чаще всего), например
index.php // is the main page
about.php // is about the site or you
news.php // contains the latest news you provide
archive.php // older news or articles
...
Даже требуется, чтобы пользователь / посетитель мог получить доступ к этим страницам напрямую, введя URL-адрес в адресную строку или с помощью закладки. Так работает сайт или WWW.