Просто делаем красивые URLы (Apache/mod_rewrite)
Для трансляции адресов из простого читаемого вида типа страниц (http://site.com/contacts/) к адресу типа "индексный файл с параметрами" (http://site.com/page_name=contacts&range=20), настроить модуль можно применяя следующие регулярные выражения
Пример:
Пример файла .htaccess для корневого каталога сайта
Options -Indexes +FollowSymLinks
<IfModule mod_rewrite.c>
#Используем модуль
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([A-Za-z]+)/\?(.*)$ /index.php?page_id=$1&lang_id=$2&$3 [QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/\?(.*)$ /index.php?page_id=$1&$2 [QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([A-Za-z]+)/?$ /index.php?page_id=$1&lang_id=$2 [QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/?$ /index.php?page_id=$1 [QSA]
</IfModule>
Флаги справа в квадратных скобках для RewriteRule:
QSA (query string append) - Вместо замены всей строки происходит подстановка в конец. Это полезно для добавления дополнительных параметров.
L (last rule)- Последнее правило. Данный флаг позволяет прервать исполнение последующих правил и тем самым предохранить текущее от затирания.
В случае редиректа в правиле с данным ключем правила в нового запроса будут интерпретироваться с начала.