htaccess mod_rewrite与zip文件行为冲突

时间:2014-02-11 21:35:17

标签: apache .htaccess mod-rewrite

我的root web文件夹中有以下.htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ /foo-bar/$1 [L,NC]

在同一级别,我有一个文件foo.zip

在foo-bar里面我在文件夹foo上有一个css文件,所以物理路径是〜/ foo-bar / foo / baz.css,所需的Web路径是www.mysite.com/foo/baz。 css

所以文件结构是:

ROOT:.htacces,foo-bar(文件夹),foo.zip

ROOT / foo-bar /:baz.css

如果我离开拉链不起作用,请输出以下信息:

The requested URL /foo-bar/redirect:/foo-bar/foo.zip/baz.css/baz.css was not found on this server.

请注意,zip不在foo-bar上,在同一级别上。

简单地重命名拉链解决了问题,但我想知道原因。

1 个答案:

答案 0 :(得分:1)

尝试将规则更改为:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!foo-bar/).*)$ foo-bar/$1 [L,NC]