需要帮助创建reg-ex表达式以使用原始路径和文件名中的信息重写路径和文件名

时间:2013-06-03 23:45:44

标签: regex url mod-rewrite url-rewriting

我希望将我的图像数据库中的图像链接重定向到水印图像的缓存副本。运行我的站点的脚本程序使用图像所在的子文件夹名称重建带水印的文件名,并附加原始文件名(.jpg),并在重建文件名的两个组件的每一个的开头添加波形符号。 / p>

实施例: 原始文件位于此处:
/mainFolder_files/1/image_Category/102_3456-crop.jpg
新路应该是:
/mainFolder_files/cache/images/~image_Category~102_3456-crop.jpg

图像文件名通常包括下划线,超标,数字和文字,但始终以.jpg结尾。 “image_Category”文件夹可能包含也可能不包含下划线。

有人可以建议注册原始数据的reg-ex并以修改后的方式重写它吗?

这是一个CGI脚本驱动程序,因此帮助Mod-Rewrite语法也会有所帮助。

谢谢你, 艺术思想

1 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

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(永久重定向)。