Есть такие команды, их часто можно встретить на сайтах с примерами настроек .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
!-f и !-d означают не файл и не папка,
но что тогда? что кроме папок и файлов может быть в корне?
переписывают все равно файл, как понять?
На моей памяти, такое пишут в связке с каким-нибудь бэкендом, когда Apache выступает, как reverse proxy.
Этими директивами исключаются запросы к существующим файлам/папкам, и тогда дальше запрос отправляется на бэкенд.
habrdima, допустим, запрос "/picture.png"
1 = запрос не является файлом picture.png в document_root
2 = запрос не является папкой с названием picture.png (папка может содержать точку) в document_root
3 = запрос не является файлом picture.png.php в document_root
4 = добавить расширение .php в исходный запрос; L = если правило сработает, то игнорировать последующие RewriteRule; QSA = query string append, добавить querystring в запрос, если есть
Mikhail Osher, скажи пожалуста, что происходит в 5 и 6 строчке?
сколько всего циклов в этом примере?
что находится в %1? и главное почему если написать в место %1 слово, то будет ошибка?