我希望将链接重定向到我的图像数据库中的图像到带水印的图像的缓存副本。我运行我的网站的脚本程序使用图像所在的子文件夹名称和附加原始文件名(.jpg)来重建带水印的文件名,在重建文件名的两个组件的每个组件的开头都有一个波浪。
的例子:原始文件位于这里:/mainFolder_files/1/image_Category/102_3456-crop.jpg
新路径应为:/mainFolder_files/cache/images/~image_Category~102_3456-crop.jpg
图像文件名通常包括下划线、连字符、数字和文本,但总是以。jpg结尾。"image_Category"文件夹可能包含下划线,也可能不包含下划线。
谁能建议regg -ex捕获原始数据并以如下所示的修改方式重写它?
这是一个CGI脚本驱动的程序,所以Mod-Rewrite语法的帮助也会很有帮助。
谢谢你,艺术思想
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在DOCUMENT_ROOT
目录下的.htaccess
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^(ImageFolio4_files)/1/([^/]+)/((?!AM|tn_)[^.]+.jpg)$ /$1/cache/images/~$2~$3 [L,R=302,NC]
一旦您验证它工作正常,将R=302
替换为R=301
。在测试mod_rewrite规则时,避免使用R=301
(永久重定向)。