我肯定必须有一个巧妙的解决方法,但是我无法弄清楚。我正在使用mod_rewrite创建SEO友好文件名并切换到我们的CDN。我可以分别做它们,但它们在一起可以互相抵消
我们使用mod_rewrite(在htaccess中)创建SEO友好文件名。例如:-]
RewriteRule ^缩略图/([0-9]+)/([^/]+).jpg$ /thumbnails/$1/image.jpg [NC,L]
将https://www.example.com/thumbnails/123/my-image-of-a-puppy.jpg映射到https://www.example.com/thumbnails/123/image.jpg
一切正常。但是我们也使用mod_rewrite从CDN中提取图像,因此我们使用类似这样的方法:-
RewriteRule ^(。*)。(jpeg | jpg | png)$https://cdn-w.example.com%{REQUEST_URI} [R = 301,NC,QSA,L]
现在mod_rewrite执行外部301重定向(如果我忽略R = 301位,则执行302重定向)。
这一切都很好,但就Google而言,https://www.example.com/thumbnails/123/my-image-of-a-puppy.jpg只是被重定向到https://cdn-w.example.com/thumbnails/123/image.jpg,这取消了SEO友好文件名,不是吗?
我想念什么吗?
我肯定必须有一个巧妙的解决方法,但是我无法弄清楚。我正在使用mod_rewrite创建SEO友好文件名并切换到我们的CDN。我可以分开做,但可以一起做...
如果您在CDN参考上使用[P]修饰符,它应该可以按预期工作。