#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