Страницы

Поиск по вопросам

вторник, 25 июня 2019 г.

.htaccess - обращение к файлам отличного формата

На хостинге находятся множество файлов со следующими именами:
index.php.html index.php_cat=1.html index.php_product=1.html index.php_view=content.html pages.php_view=order.html pages.php_view=register.html price.php.html
Нужно сделать так, чтоб при обращении в браузере по линкам, тянулся контент с этих файлов. Линки в браузере соответственно:
mydomain.com/index.php mydomain.com/index.php?cat=1 mydomain.com/index.php?product=1 mydomain.com/index.php?view=content mydomain.com/pages.php?view=order mydomain.com/pages.php?view=register mydomain.com/price.php


Ответ

Требуемую задачу выполняет следующая конструкция:
RewriteEngine On RewriteBase /
RewriteCond %{QUERY_STRING} !^$ RewriteRule ^(.*\.php)$ $1_%{QUERY_STRING}.html? [L,R=301,NC]
RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*\.php)$ $1.html [L,R=301,NC]
Если же требуется, чтобы адрес в строке браузера не менялся, нужно просто убрать директиву редиректа R=..., т.е. содержимое файла будет следующим:
RewriteEngine On RewriteBase /
RewriteCond %{QUERY_STRING} !^$ RewriteRule ^(.*\.php)$ $1_%{QUERY_STRING}.html? [L,NC]
RewriteCond %{QUERY_STRING} ^$ RewriteRule ^(.*\.php)$ $1.html [L,NC]

Комментариев нет:

Отправить комментарий