.htaccess Mod_重写结合SEO友好URL和CDN

.htaccess Mod_重写结合SEO友好URL和CDN,.htaccess,mod-rewrite,seo,cdn,friendly-url,.htaccess,Mod Rewrite,Seo,Cdn,Friendly Url,我肯定有一个聪明的方法来解决这个问题,但我就是想不出来。我正在使用mod_rewrite创建SEO友好的文件名,并切换到我们的CDN。我可以分别做这两件事,但如果一起做,就会互相抵消 我们使用mod_rewrite(在htaccess中)创建SEO友好的文件名。例如:- 重写规则^thumbnails/([0-9]+)/([^/]+).jpg$/thumbnails/$1/image.jpg[NC,L] 映射到 一切正常。但我们也使用mod_rewrite从CDN中提取图像,因此我们使用如下方式

我肯定有一个聪明的方法来解决这个问题,但我就是想不出来。我正在使用mod_rewrite创建SEO友好的文件名,并切换到我们的CDN。我可以分别做这两件事,但如果一起做,就会互相抵消

我们使用mod_rewrite(在htaccess中)创建SEO友好的文件名。例如:-

重写规则^thumbnails/([0-9]+)/([^/]+).jpg$/thumbnails/$1/image.jpg[NC,L]

映射到

一切正常。但我们也使用mod_rewrite从CDN中提取图像,因此我们使用如下方式:-

重写规则^(.*)。(jpeg | jpg | png)${REQUEST_URI}[R=301,NC,QSA,L]

现在mod_rewrite执行一个外部301重定向(如果省略R=301位,则为302)

这一切都很好,但就谷歌而言,只是被重定向到取消了搜索引擎优化友好的文件名,不是吗


我遗漏了什么吗?

如果您在CDN引用上使用[p]修饰符,它应该按照您的意愿工作

使用此标志可以实现更强大的ProxyPass指令实现,将远程内容映射到本地服务器的命名空间中

因此,URL应该保持与输入时相同,内容来自CDN


使用CDN的一个要点可能是,您希望承担服务器的负载。如果您现在让您的服务器充当代理,那么对任何CDN资源的每个请求都必须再次“通过”它,这就完全否定了这一点。用户最终获得数据之前的时间框架也可能会增加。