我需要捕获并重写一个 URL 路径,用 a 替换~
每个/
结束重写的 URL 路径,~
后跟原始路径中带有扩展名 (.jpg) 的文件名。如果路径末尾的文件名以“AM”、“tn_”或“_cat”开头,则不应进行重写。
此代码适用于已知的单层深度:
RewriteRule ^ImageFolio4_files/1/([^/]+)/((?!AM|tn_|_cat)[^.]+\.jpg)$ /ImageFolio4_files/cache/images/~$1~$2 [L,R=302,NC]
这是要重写的原始路径的示例:
/ImageFolio4_files/1/Casual_Portraits/abc123_789-xyz.jpg
这是所需的最终结果:
/ImageFolio4_files/cache/images/~Casual_Portraits~abc123_789-xyz.jpg
我需要修改正则表达式以在文件名前容纳 1 或 2 个额外的子文件夹,我不知道从哪里开始。以下是较长文件夹路径和所需最终结果的示例:
/ImageFolio4_files/1/Casual_Portraits/Outdoors/Beach/abc123_789-xyz.jpg
重写为:
/ImageFolio4_files/cache/images/~Casual_Portraits~Outdoors~Beach~abc123_789-xyz.jpg
任何帮助将不胜感激。
艺术心灵加州帕萨迪纳