Никто не указал вам, что согласно документам , RewriteCond
s принимают обратные ссылки на совпавший шаблон в RewriteRule
. Поэтому, когда вы в настоящее время проверяете, что запрос не обычный файл, вы вместо этого проверяете предпочтительную замену - файл. Повторите это для вашей запасной замены.
Редактировать: RewriteCond
в вашем комментарии не имеет смысла, первая часть должна быть предметом теста, вторая часть теста. Вы помещаете обратные ссылки на правило в теме. Очевидно, вы попробовали, попробуйте это:
RewriteCond /pub/$1/snapshots/$0 -f
RewriteRule ^(ffmpeg|ffprobe|ffserver|ffplay)-[0-9]+-g[0-9a-z]+\.(?:7z|dmg)$ /pub/$1/snapshots/$0 [END]
RewriteCond /pub/archive/$0 -f
RewriteRule ^(?:ffmpeg|ffprobe|ffserver|ffplay)-[0-9]+-g[0-9a-z]+\.(?:7z|dmg)$ /pub/archive/$0 [END]