Как убрать .html и .php с конца адресной строки?
Вы можете допустим реализовать УРЛ следующим образом:
http://example.com/first-page/
http://example.com/second-page/
Для этого создайте в корне вашего сайта соответствующие папки и загрузите туда файл index.php или index.html НО!
Для больших сайтов это не практично и для этого существует mod_rewrite Он заменяет ссылки одного типа на другие. Его использование имеет много плюсов. Во-первых, повышается защита, т.к. хакер не знает о структуре вашего сайта и о запросах, которые посылает ваш скрипт.
Во-вторых, получаются красивые и легко читаемые ссылки. В-третьих, некоторые поисковики легче индексируют такие ссылки.
Сокращенно это называют ЧПУ (человеко-понятный URL). Для начала в корневой папке вашего сайта должен находиться файл .htaccess. Если он уже есть хорошо, а если нет, то создайте. В начале пишите:
RewriteEngine On эта строка включает модуль RewriteBase /
это ссылка на папку вашего сайта Дальнейшие строки будут зависеть от структуры вашего сайта. Смотрите на пример:
RewriteRule ^catalog/dir([0-9]*)/ /module.php?section=catalog&area=dir&id=$1
Вот эта строка — /module.php?section=catalog&area=dir&id=$1 — означает какой адрес нужно заменить. А вот эта — ^catalog/dir([0-9]*)/ — чем заменить.
Заметьте в 1 строке в конце стоит переменная $1. Она означает любой набор символов, который должен находиться в этом месте и который будут заменять. Во 2 строке стоит запись — dir([0-9]*). Она означает, что будут заменяться все числа из 1 строки. То есть, если в 1 строке вместо переменной будет стоять число, то 1 строка замениться 2 строкой с этим числом после слова dir. Если же в 1 строке будет слово, то ничего не заменится и не будет работать. В моем примере я заменяю только числа, но вы можете менять и слова и слова с числами, но для этого вам придется писать более длинное регулярное выражение.