Например, если я запрашиваю /onestaticfile.txt
, и этот файл действительно существует в / app / webroot, как быть уверенным, что окончательный URL будет /app/webroot/onestaticfile.txt
вместо /app/webroot/index.php?url=onestaticfile.txt
?
RewriteConds для второго правила будут оценены.Но поскольку onestaticfile.txt
существует, он не пройдёт тест! -F, и второе правило не будет применено (поэтому окончательный URL будет: /app/webroot/onestaticfile.txt
).Аналогичным образом, если onestaticfile.txt
не существует, будет применено 2-е правило.
В любом случае, когда применяется правило, происходит внутреннее перенаправление, и все это происходит снова с переписанным URI.Но второй раз не меняет базовый URI (без строк запроса), поэтому во второй раз ничего не происходит.
Если бы в квадратных скобках вашего первого правила был символ L, второе правилоникогда не применяется, потому что переписывание всегда заканчивается первым правилом.