Apache игнорирует расширения файлов

#apache #.htaccess

#apache #.htaccess

Вопрос:

Я использую следующий код .htaccess, чтобы сделать мои URL-адреса более чистыми:

 RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
  

В основном он проверяет, указывает ли запрошенный URL-адрес на файл или каталог, и если это не так, он форматирует его определенным образом.

Проблема в том, что мой рабочий сервер, похоже, игнорирует расширения файлов, когда проверяет, указывает ли запрошенный URL на файл. Например, он будет рассматривать URL, /contact указывающий на файл с именем contact.jpg , если файл с таким именем существует в корне сервера.

Что заставляет Apache вести себя подобным образом и что я могу сделать, чтобы контролировать это — сделать его строгим в отношении расширений файлов?

Ответ №1:

Я считаю, что это из-за опции MultiViews. Попробуйте Options -MultiViews в .htaccess

Комментарии:

1. Сначала я тоже так думал. Это не исправляет проблему. Тем не менее, я ценю ответ.

2. Спасибо! Исправлена моя проблема, из-за которой мне потребовалась целая вечность, чтобы найти нужную вещь в Google.

3. Исправлено и для меня 1