我为客户的网站创建了一个新的图库,以替换现有的图库。在两个图库中,所有图像都相同并共享相同的文件名。
新图库的图像文件存储在目录/ files / gallery中。 OLD库的图像文件存储在目录/ files中。
我想从/ files中删除图库图片,但是将它们重定向到/ files / gallery目录,现在可以找到它们。
因为/ files目录包含多个图库图像,所以我需要一个htaccess规则,该规则仅定位以“图库”一词开头的文件名。
我花了好几个小时寻找答案,并尝试使用代码来解决类似问题的解决方案,但无济于事。
答案 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
时,这将避免重定向。