Человекопонятный Урл (ЧПУ), или что это за зверь?
Все дело в том, что на входе в ваш сайт стоит небольшой, но очень мощный фильтр - файл .htaccess.
С помощью этого файла можно делать очень многое, но нас сейчас интересует только одно - как перевести, скажем, адрес http://100litsa.org/15_admin-site на язык, понятный серверу, то есть на обычный РНР?
А очень просто! Если вам кто-то скажет, что нужно освоить язык регулярных выражений, чтобы грамотно написать RewriteRule в файле .htaccess , верьте ему, но только наполовину!
Для сайтов, имеющих сложную структуру, это действительно так. Но в нашем случае достаточно прописать в файле .htaccess всего 2 строчкк:
#подключаем модуль RewriteEngine
RewriteEngine On
#пишем правило перевода RewriteRule
RewriteRule ^([-/_a-zA-Z0-9\s]*)$ /index.php?option=$1
Ну и что это за абракадабра такая?
Правило перевода (RewriteRule), написанное на языке регулярных выражений, по сути заключается в следующем:
все, что находится между знаком ^ и знаком $ - это и есть значение переменной $1
Я не буду вдаваться в подробности написания этого выражения, скажу только, что оно посылает в переменную $1 все знаки латинского алфавита от a до z и от A до Z, и все цифры от 0 до 9, включая символы тире, подчеркивания и пробел, сколько раз бы они ни встречались в исходной записи.
Достаточно? Думаю, что да! Все остальное - это фантазия самого программиста, пусть строит линки так, как ему удобнее.
Я, например, построил их по следующей системе: линк с верхнего меню передается только цифрой, а линк с левого - буквенным выражением (можно с цифрами, можно - без).
И что мы получаем в результате?
Вот так выглядит типичный линк с нашего сайта:
http://100litsa.org/15_admin-site , который по правилу RewriteRule передается на сервер как
http://100litsa.org/index.php?option=15_admin-site.
А уже в самом файле index.php я использую функцию explode, чтобы отделить части этой переменной, разделенные симолом подчеркивания (15 - это линк на определенную кнопку верхнего меню, а admin-site - линк на страницу, связанную с пунктом левого меню). Поэтому всякая попытка пользователя использовать символ подчеркивания в имени файла беспощадно пресекается админкой: она попросту заменяет этот символ на обычное тире.
А в народе это называют ЧеловекоПодобные Урлы, ЧПУ или просто Friendly URL-s (дружественные "урлы") .
|