Слово "индекс" странно обрабатывается модулем Apache mod_rewrite. Зачем? - PullRequest
0 голосов
/ 28 февраля 2012

Всем привет.

У меня есть такой файл .htaccess:

<IfModule mod_rewrite.c>
 RewriteEngine On

 # Modify the RewriteBase if rewrite rules are not working properly.
 RewriteBase /

 RedirectMatch 404 /(php\.ini|core\.php|config\.php|modules)(/|$)


 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_URI} !=/favicon.ico
 RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

Когда я пытаюсь использовать URL-адреса, такие как "index / desktop", у меня ничего не получается в PHP $_REQUEST массив, но после изменения этого URL на «рабочий стол» все работает правильно.

Я полагаю, что это поведение связано с правилом index.php, но у меня нет четкого понимания того, что происходит.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2012

Попробуйте отключить опцию MultiViews .

0 голосов
/ 28 февраля 2012

Добавить

RewriteRule ^index\.php$ - [L]

выше

RewriteCond %{REQUEST_FILENAME} !-f
...