htaccess mod-rewrite文件名,如何格式化正则表达式



我的根目录中有一个名为images的目录。我有一个数字类别.jpg的命名约定。我正在通过PHP脚本使用此约定,并希望在我的htaccess中有一个RewriteRule,它可以出于SEO目的执行单词-单词-类别-数字的效果.jpg。

所以曾经的"10-abstract.jpg"现在是"fine-art-abstract-art-10.jpg"

我正在阅读一些教程,并提出了以下内容,但没有成功:

RewriteRule ^([0-9]-[a-z])-art.jpg$ /2/art/$1-$2.jpg [L]

对于word-word-category-number.jpg,请尝试:

RewriteRule ^[^-]+-[^-]+-([^-]+)-([0-9]+).jpg$ /2/art/$2-$1.jpg [L]

但这不适用于您的示例,因为fine-art-abstract-art-10.jpg word-word-category-word-number.jpg.您可以为此添加另一个部分:

RewriteRule ^[^-]+-[^-]+-([^-]+)-[^-]+-([0-9]+).jpg$ /2/art/$2-$1.jpg [L]

这将需要请求http://your.domain.com/fine-art-abstract-art-10.jpg并为/2/art/10-abstract.jpg服务.

最新更新