Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache mod_rewrite将对未命名为x的文件的所有请求重定向到此域_Apache_Mod Rewrite_Httpd.conf - Fatal编程技术网

Apache mod_rewrite将对未命名为x的文件的所有请求重定向到此域

Apache mod_rewrite将对未命名为x的文件的所有请求重定向到此域,apache,mod-rewrite,httpd.conf,Apache,Mod Rewrite,Httpd.conf,好的,我正在努力做到这一点: 重定向特定文件类型的所有文件(特定异常除外)以从其他服务器加载,现在我使用以下重写规则: RewriteEngine on RewriteRule \.(swf|jpg|png)$ http://example.com%{REQUEST_URI} [NC,R=302,L] 它会将所有swf、jpg或png文件重定向到另一个主机名来为它们服务。 那么,如何为特定文件添加此规则的例外情况呢?我尝试添加: RewriteCond %{REQUEST_URI} ^!(lo

好的,我正在努力做到这一点:

重定向特定文件类型的所有文件(特定异常除外)以从其他服务器加载,现在我使用以下重写规则:

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的新手。

你必须预先编写
到条件的正则表达式:

RewriteCond %{REQUEST_URI} !^(log22.swf|packer.swf|sos.swf|aeVisual.swf|newBubbleSystem.swf|e.swf)$
请注意,
^
的顺序与代码中的顺序不同,因为您可以对表达式求反,但可以添加
之前

这条规则不起作用的原因是它从不匹配