如何以特定前缀开头时,如何使用htaccess将文件重定向到另一个目录?

时间:2017-06-22 13:07:56

标签: .htaccess

我为客户的网站创建了一个新的图库,以替换现有的图库。在两个图库中,所有图像都相同并共享相同的文件名。

新图库的图像文件存储在目录/ files / gallery中。 OLD库的图像文件存储在目录/ files中。

我想从/ files中删除图库图片,但是将它们重定向到/ files / gallery目录,现在可以找到它们。

因为/ files目录包含多个图库图像,所以我需要一个htaccess规则,该规则仅定位以“图库”一词开头的文件名。

我花了好几个小时寻找答案,并尝试使用代码来解决类似问题的解决方案,但无济于事。

1 个答案:

答案 0 :(得分:1)

由于我不知道您已尝试过什么,这里是一个带模式匹配的简单重定向:

RewriteRule /files/(gallery[^/]+)$ /files/gallery/$1 [L,R=301]

有了这个,/files/gallery-pic01.png将被重定向到/files/gallery/gallery-pic01.png

如果您需要摆脱 gallery 前缀,只需移动捕获组的括号:

RewriteRule /files/gallery([^/]+)$ /files/gallery/$1 [L,R=301]

在正则表达式中,请注意[^/],表示“任何不是斜杠的字符”。当有人请求/files/gallery/new_picture.png时,这将避免重定向。