На хостинге находятся множество файлов со следующими именами:
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]
Комментариев нет:
Отправить комментарий