У меня есть некоторая конфигурация в htaccess:
RewriteEngine On
RewriteRule ^(.*)$ /index.php [L,NC,QSA]
Все URL-адреса перенаправляются на /index.php
Но если папка существует, она переходит в папку, а не в /index.php
Зачем?
Я попробовал это решение, чтобы сделать следующее:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . index.php [QSA,L]
Но это, как и предыдущий пример, относится к каталогу = (
Используйте что-то вроде этого:
#turn rewrite engine on
RewriteEngine On
#specify your base
RewriteBase /
#make sure, your index.php won't be rewritten
RewriteRule ^index.php - [L]
#rewrite everything else
RewriteRule ^(.*)$ index.php?para=$1 [QSA,L]
Но если папка существует, она переходит в папку, а не в /index.php
Попробуйте отключить MultiViews
- это часто мешает в таких случаях.
Options -MultiViews
http://httpd.apache.org/docs/2.2/mod/core.html#options
http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html#multiviews
Попробуй это
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
Или
RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteRule (.*) index.php [QSA]