0

我目前正在尝试让 Apache 将对目录或其内容的任何请求重定向到单个文件。有问题的目录是/press. 这恰好包含网站上其他页面正在使用的多个图像。我想重定向/press/press/*允许/press-materials/完成任何图像请求(例如/press/logo.png)。我尝试了一些解决方案并获得了重定向工作的一个方面,但它不符合其他标准。

当谈到 Apache 和 REGEX(我明知需要处理的东西)时,我是一个新手,所以这可能是一个简单的修复。

这是将 /press 重定向到 /press-materials 但 /press/filename 返回 404 错误的 htaccess 调用。

RewriteRule ^press/$ /press-materials/ [R,L]

6小时后,这就是我所得到的。非常感激任何的帮助。

4

1 回答 1

2

假设您希望允许对实际存在于/press(如/press/logo.png)中的文件的所有请求:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^press/.* /press-materials/ [R,L]

只有在没有/press请求现有文件时才执行重写。

仅允许特定文件类型(例如,仅*.jpg, *.png, *.gif)并且仅当它们存在于/press目录中但不存在于子目录中时的另一种解决方案:

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} !^/press/[^\/]+\.(png|jpg|gif)$
RewriteRule ^press/.* /press-materials/ [R,L]

更多关于重写条件的信息可以在这里找到。

于 2013-01-16T20:03:50.850 回答