Добавьте это к вашему .htaccess
файлу:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
- включить перезапись
- проверить, существует ли запрошенный файл как обычный файл с размером (не пустым)
- проверить, является ли запрашиваемый файл ссылкой
- проверить, является ли запрашиваемый файл каталогом
- , если одно из предыдущих 3 утверждений истинно, показать этот файл
- в противном случае перейдите на index.php
Если происходит перенаправление на index.php, вы можете получить запрошенный URI, используя $_SERVER["REQUEST_URI"]
внутри index.php
- '- d' (is directory) Обрабатывает TestString как имя пути и проверяет,
он существует и является каталогом.
- '- f' (обычный файл) Обрабатывает TestString как имя пути и проверяет,
он существует и является обычным файлом.
- '- s' (обычный файл с размером) Обрабатывает TestString как путь
и проверяет, существует ли он и является ли
обычный файл с размером больше чем
ноль.
- '- l' (является символической ссылкой) Обрабатывает TestString как имя пути и проверяет,
он существует и является символической ссылкой.
- '- F' (существует файл через подзапрос) Проверяет, является ли TestString
действительный файл и доступен через все
настроенный в данный момент доступ к серверу
контролирует этот путь. Это использует
внутренний подзапрос для определения
проверьте, так что используйте его с осторожностью, потому что это
снижает производительность ваших серверов!
- '- U' (является существующим URL через подзапрос) Проверяет, является ли TestString
действительный URL и доступ через все
настроенный в данный момент доступ к серверу
контролирует этот путь. Это использует
внутренний подзапрос для определения
проверьте, так что используйте его с осторожностью, потому что это
снижает производительность вашего сервера!
Дополнительная информация: http://httpd.apache.org/docs/current/mod/mod_rewrite.html