Apache 重写到其他目录(如果那里存在文件)

ker*_*ati 2 apache mod-rewrite exists url-rewriting

我的目录如下所示:

/assets
  /images
    /2011
    /2012
  /images-hq
    /2011
    /2012
Run Code Online (Sandbox Code Playgroud)

在 html 文件中,每个图像都有一个标签,例如:

<img src="/assets/images/2012/example.jpg" />
Run Code Online (Sandbox Code Playgroud)

我想检查 images-hq 文件夹中是否存在相同的图像,如果存在,我想将该图像发送给用户。

例子:

/assets/images/2012/example.jpg to /assets/images-hq/2012/example.jpg
Run Code Online (Sandbox Code Playgroud)

IF /assets/images-hq/2012/example.jpg 存在,如果不存在,则仅提供原始文件。

小智 5

我尝试这样做并且似乎有效:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} (.*)/[a-z]+/(.+)\.(gif|jpe?g|png)$
RewriteCond %1/images-hq/%2.%3 -f
RewriteRule (.*)/[a-z]+/(.+)\.(png|jpg|jpeg)$ %1/images-hq/%2.%3 [L]
Run Code Online (Sandbox Code Playgroud)

我基于这个解决方案