htaccess只匹配根目录中的特定文件类型

问题描述 投票:0回答:1

我有一个名为/i/的子目录,在其中保存了图像和视频。 png,gif和mp4等文件。我在.htaccess文件中有一些代码可以从根目录无提示地重定向到/ i。

示例:domain.com/awE1.png静默重定向到domain.com/i/awE1.png

代码:

RewriteCond %{REQUEST_URI} !/i/ [NC]
RewriteRule \.(?:jpe?g|gif|bmp|png|tiff|ico|mp4)$ i%{REQUEST_URI} [L,NC]

问题是,如果根文件夹中有文件,或者另一个子目录(例如/ s)并且该文件是映像,则只会导致404错误。有什么办法可以让.htaccess只在根文件夹中查找预定义的文件扩展名?

谢谢!

.htaccess
1个回答
0
投票

您不应该重写根目录或其他目录下存在的文件,如下所示:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/i/ [NC]
RewriteRule \.(?:jpe?g|gif|bmp|png|tiff|ico|mp4)$ i%{REQUEST_URI} [L,NC]
© www.soinside.com 2019 - 2024. All rights reserved.