Многие из вас встречали сайты с адресами вида
http://servername/dir1/dir2/..
как показалось бы новичкам, данный сайт реализован с множеством папок, в которых хранятся индексные файлы, отображаемые браузеру клиента.
Вполне возможно, что так, но в большинстве случаев используется совсем другой принцип организации подобных адресов на сайте.
Самый, на мой взгляд, простой способ организации так называемого ЧПУ(где-то прозвали это человекоподобным урлом) можно осуществить через конфигурационный файл .htaccess
создаем файл в текстовом редакторе, в него записываем следующее:
ErrorDocument404 /index.php
Сохраняем его как .htaccess и закидываем в основную директорию сайта.
При обращении браузера к несуществующим документам сервер будет переправлять его на файл index.php
А вот уже в index.php можно прописывать любые условия выдачи контента сайта. Это могут быть и несуществующие файлы, и папки и даже картинки...
как осуществить? элементарно:
$string=$_SERVER["REQUEST_URI"];
переменная $string содержит запрашиваемую строку после доменного имени сайта...
т.е. если мы запросили http://servername/news/16/ , то переменная хранит в себе строку /news/16/
как обрабатывать? опять же элементарно...
$new_string=explode("/",$string);
получаем массив строк:
$new_string[0]=""
$new_string[1]="news"
$new_string[2]="16"
$new_string[3]=""
Четвертый элемент массива может не присутствовать, если исходная строка была http://servername/news/16
зная переменные $new_string[1] и $new_string[2], можно подгружать нужный контент. В данном случае видимо это раздел "новости" и ID новости, навный 16.
Важная деталь: для корректной работы сей системы необходимо отправить заголовок:
header ("HTTP/1.0 200 Ok");
//===данную строчку необходимо прописать первой в файле index.php
Далее решайте сами, что и как выдавать браузеру...
если есть вопросы, спрашивайте, отвечу.