Я видел это, и лично я думаю, что это ужасный дизайн. В частности, потому что многие люди не склонны очищать параметр include, чтобы кто-то мог включить любой файл, который он хочет, просто передавая относительный путь.
mod_rewrite обычно используется для скрытия URL-адресов, таких как:
/index.php?path=user&include=account
заменив его чем-то вроде:
/user/account
как это:
RewriteEngine On
RewriteBase /
RewriteRule ^(\w+)/(\w+)$ /index.php?path=$1&include=$2 [L]
Я также обычно добавляю что-то вроде этого:
RewriteRule %{THE_REQUEST} \.php$ [R=404,L]
Я забыл точный синтаксис, но в основном дело в том, что пользователь не может напрямую запросить php-файл. Это должно быть сделано с помощью другого RewriteRule (как и первый), который может избавить вас от многих головных болей с дезинфекцией ввода строки запроса, а также избежать всей проблемы создания PHP глобальных слов для вещей, которые вы никогда не собирались (хотя они все еще могут POST для этого ).
В любом случае, вернемся к тому, почему я думаю, что это ужасная идея. Они делают это потому, что хотят иметь общий код на каждой странице (например, верхний и нижний колонтитулы). Я бы сказал, что вам лучше просто включить общий файл в верхней части каждой из ваших страниц. Это более простой и понятный дизайн.