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