Как настроить apache, чтобы разрешить переписывать правила для каталогов?

0

У меня есть некоторая конфигурация в 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]

Но это, как и предыдущий пример, относится к каталогу = (

  • 0
    Все запросы должны идти в index.php
Теги:
mod-rewrite

3 ответа

0

Используйте что-то вроде этого:

#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]
0

Но если папка существует, она переходит в папку, а не в /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

0

Попробуй это

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php

Или

RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteRule (.*)  index.php [QSA]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню