Apache mod_rewrite перенаправляет все запросы к файлам без имени x в этот домен - PullRequest
0 голосов
/ 23 августа 2011

Хорошо, я пытаюсь добиться этого:

Перенаправить все файлы определенного типа (кроме определенных исключений) для загрузки с другого сервера, сейчас я использую это правило перезаписи:

RewriteEngine on
RewriteRule \.(swf|jpg|png)$ http://example.com%{REQUEST_URI} [NC,R=302,L]

И он перенаправит все файлы swf, jpg или png на другое имя хоста для их обслуживания. Итак, как я могу добавить исключения из этого правила для определенных файлов? Я попытался добавить:

RewriteCond %{REQUEST_URI} ^!(log22.swf|packer.swf|sos.swf|aeVisual.swf|newBubbleSystem.swf|e.swf)$

Но когда я сделал это, это полностью остановило правило от каких-либо действий с другими файлами. Есть идеи? Я новичок в использовании mod_rewrite.

1 Ответ

1 голос
/ 23 августа 2011

Вы должны предварительно представить ! в регулярное выражение условия:

RewriteCond %{REQUEST_URI} !^(log22.swf|packer.swf|sos.swf|aeVisual.swf|newBubbleSystem.swf|e.swf)$

Обратите внимание, что ! и ^ находятся в другом порядке, чем в вашем коде, так как вы можете отрицать выражение, но добавляя ! перед .

Причина, по которой правило не работает, заключается в том, что оно никогда не совпадает.

...