При написании своего сайта часто возникает вопрос, как сделать ЧПУ, но хороших статей по этому вопросу не так много, но сегодня такая статья обязательно появится.
Все, что нам нужно - это файл .htaccess, т.к. именно с ним мы будем проводить операции.
Допустим, что у нас есть на сайте фотографии, каждую из которых можно просмотреть отдельно, например, так:
photo.php?id=22
А нам надо получить для начала такое:
photo/1
Это делается достаточно просто. В файл .htaccess нужно прописать следующий код:
RewriteEngine on
RewriteRule ^photo/([0-9]+)/? photo.php?id=$1 [L]
Готово. Первая строчка включает mod_rewrite в Apache, а второй мы указываем регулярное выражение, которое заменяет "некрасивый урл" на ЧПУ.
Ну а если хочется более информативный ЧПУ, то нам нужно передать еще 1 параметр:
index.php?see=photo&name=zakat-solnca
Отличие будет только в регулярном выражении:
RewriteEngine on
RewriteRule ^photo/([-a-zA-Z0-9_]+)/? index.php?do=photo&name=$1 [L]
В результате получится такой красивый ЧПУ:
photo/zakat-solnca
Ну а если вы хотите в ЧПУ передавать еще и GET параметры, то необходимо вместо [L] прописать [QSA,L], т.е. получается следующий код:
RewriteEngine on
RewriteRule ^photo/([-a-zA-Z0-9_]+)/? index.php?do=photo&name=$1 [QSA,L]
Теперь вы можете передавать GET, например:
photo/zakat-solnca?author=ivan
Как вы поняли, для создания ЧПУ нужно уметь составлять регулярные выражения, но это уже другая статья. Если не умеете, то берите мои заготовки выше и правьте под себя.
Это самый простой и быстрый способ создания ЧПУ без использования PHP и MySQL. Скоро будут новые статьи по ЧПУ, но уже более сложные и интересные.