Либо в файлах конфигурации Apache [директивы VirtualHost или Directory], либо в файле .htaccess вставьте следующую строку:
Options -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L,NC,QSA]
</IfModule>
Он будет молча перенаправлять все входящие запросы, которые не соответствуют действительному имени файла или директории (RewriteCond
в приведенном выше коде убедитесь в этом), в файл index.php. Кроме того, как вы видите, опция MultiViews
также должна быть отключена, чтобы перенаправление работало - обычно она конфликтует с этими двумя RewriteCond
, которые я там поставил.
Внутри index.php вы можете получить доступ к данным REQUEST_URI
через переменную $_SERVER['REQUEST_URI']
. Вы не должны передавать какие-либо URI через GET
, так как это может привести к нежелательному загрязнению ваших данных Query-String, поскольку параметр [QSA]
в нашем RewriteRule активен.