Перезапись htaccess вызывает ошибку 500 вместо 404
Я недавно добавил этот маленький кусочек кода в мой.htaccess
файл:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
Хорошо, я понимаю, что здесь происходит, я думаю. Этот небольшой кусочек кода для удаления расширений файлов PHP вызывает цикл, если документ не найден. Этот цикл вызывает ошибку сервера 500 вместо (правильного) 404. К сожалению, я очень мало понимаю, что на самом деле делают эти перезаписи, поэтому я не знаю, как переписать его, чтобы вызвать это перенаправление, только если документ существует.
Я немного читал, и я не уверен, что Apache считает «обычным» файлом. Я имею в виду, что это работает, но почему бы не первая строка-f
вместо!-f
? Является-u
единственный способ сделать это?