RewriteCond ничего не делает сам по себе, он просто содержит условие, которое должно быть истинным для обработки следующего RewriteRule. Вот большая выдержка из .htaccess
, включенного в ProcessWire (без комментариев):
RewriteCond %{REQUEST_URI} "^/~?[-_.a-zA-Z0-9/]*$"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !(favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]
Все директивы RewriteCond ограничивают только те запросы, которые переписываются в файл ProcessWire index.php
. А именно, следующие типы запросов не обрабатываются ProcessWire в соответствии с этими правилами:
- Не-ASCII пути (
[-_.a-zA-Z0-9/]*
), хотя вы можете использовать директиву 16b чтобы изменить это. - Существующие файлы и каталоги (
!-f
, !-d
) - Некоторые указанные c файлы (
!(favicon\.ico|robots\.txt)
)
Как вам нужно изменить это в зависимости от того, как вы хотите обрабатывать файлы в папке с изображениями.
Apache обслуживает данные c файлы
Возможно, вам не нужно ничего менять, если вы просто хотите, чтобы изображения в вашем каталоге изображений обрабатывались непосредственно сервером, поскольку файлы уже исключены существующими RewriteConds.
При этом, если вы хотите, не хотите любых путей которые начинаются с /images/
для обработки ProcessWire, добавьте еще один RewriteCond перед RewriteRule, что-то вроде этого:
RewriteCond %{REQUEST_URI} !^/images/.*$
RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]
ProcessWire обслуживает данные c файлы
Если вы хотите, чтобы изображения находились внутри Ваша папка images
будет обслуживаться Pr ocessWire вместо сервера, вам придется изменить несколько существующих RewriteConds. Вероятно, будет проще дублировать RewriteRule с отдельным RewriteCond, который будет соответствовать только указанному пути c. Следующие директивы (добавленные за существующим RewriteRule) переписывают все запросы, начинающиеся с /images/
, что позволяет обрабатывать их с помощью ProcessWire.
RewriteCond %{REQUEST_URI} ^/images/.*$
RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]