Итак, у меня настроен резервный ресурс в Apache для отправки запросов на index.php в webroot, и он работает, за исключением случаев, когда я вызываю несуществующий файл php в каталоге webroot.Например, если я пытаюсь получить "/a.php", который не существует, я получаю ошибку 404.Но если я вызываю «/nodir/a.php», он отправляет это в файл index.php, как и ожидалось.
Я искал в Google и прочитал документацию по Apache для этой функции, но не выяснил, почемуэто происходит.
Версия моего установочного сервера: Apache / 2.2.20 (Ubuntu) Использование веб-сайта по умолчанию с конфигурацией по умолчанию с "FallbackResource /index.php" в разделе каталога
Есть идеи?
Я могу заставить это работать правильно, используя mod_rewrite со следующими основными строками в .htaccess, но, очевидно, предпочел бы FallbackResource вместо этого:
(.htaccess in webroot)
RewriteEngine On
RewriteCond /var/www/%{REQUEST_FILENAME} !-f
RewriteCond /var/www/%{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /a.php HTTP/1.1
HOST: localhost
Connection: close
HTTP/1.1 200 OK
Date: Sat, 31 Dec 2011 02:37:48 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.3
Vary: Accept-Encoding
Content-Length: 43
Connection: close
Content-Type: text/html
/a.php
localhost
Connection closed by foreign host.