Перезапись .html в PHP с передачей параметров

Внутренняя перезапись адреса .html в PHP с передачей alias через mod_rewrite.

В этом примере используется внутренняя перезапись URL: адрес в браузере остаётся прежним, а Apache передаёт запрос в PHP. Внешний 301-редирект задаётся отдельно флагом R.

Для передачи параметров из html страницы в php, необходимо в .htaccess вставить следующий код:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /


# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule ^\.htaccess$ - [F,L]
RewriteRule ^template\.php$ - [F,L]

# ПРАВИЛА mod_rewrite
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule page/([a-z0-9_-]+)([\/]{0,1})\.html$ index.php?option=page&alias=$1 [L]
</IfModule>

В этом случае при переходе со страницы /page/123.html в файл index.php передастся параметр alias (урл страницы после конечного слеша и до .html).

Все материалы раздела «SEO»Каталог инструментов