问题描述
我有这个规则很好用:
RewriteRule ^([^/-]*)-([^/-]*)-([^/-]*)-([^/-]*)-([^/-]*)-([^/-]*)-([^/-]*)-([^/])*\.jpg$ $1.jpg [QSA]
这意味着 1-x-x-x-x...jpg 将始终位于规则的第一位。我想要做的是 x-x-x-x...1.jpg 这意味着让它在这个规则中持续下去,但如果这可能的话,我在尝试了几个小时后很迷茫。
解决方法
根据您显示的示例和尝试,请尝试遵循 htaccess 规则。请确保在测试您的 URL 之前清除浏览器缓存。它只有2个捕获组,同时重写后面提到的第2组以实现显示的jpeg样本名称。
RewriteEngine ON
RewriteRule ^([^-]*)-([^.]*)\.jpg/?$ $2-$1.jpg [QSA,L]
第二种解决方案:要么使用上述规则,要么使用以下规则。这是基于您显示的尝试,我已在此处修复。您无需在正则表达式中提及 /
,因为它不存在于 .jpg 文件中。简单地说,我们正在捕获 8 组中的所有值,并在最后提到第 1 组,以使 jpeg 为您提到的 x-x-x-x...1.jpg 格式。
RewriteEngine ON
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^.])*\.jpg/?$ $2-$3-$4-$5-$6-$7-$8-$1.jpg [QSA,L]