【问题标题】:Mod_rewrite combining SEO friendly urls and CDNMod_rewrite 结合 SEO 友好的 url 和 CDN
【发布时间】:2020-05-06 22:52:12
【问题描述】:

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

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

重写规则 ^thumbnails/([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 拉取图像,所以我们使用类似这样的东西:-

重写规则 ^(.*).(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 友好的文件名不是吗??

我错过了什么吗?

【问题讨论】:

    标签: .htaccess mod-rewrite seo cdn friendly-url


    【解决方案1】:

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

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

    因此,URL 应该与进入时保持不变,内容来自 CDN。

    【讨论】:

    • 使用 CDN 的要点之一,可能是您想要承担服务器的负载。如果您现在让您的服务器充当代理,那么对任何这些 CDN 资源的每个请求都必须再次“通过”它,这有点完全否定了这一点。并且用户最终获得数据的时间范围也可能会增加。
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2011-06-11
    • 1970-01-01
    • 2010-12-03
    • 2019-05-29
    • 1970-01-01
    相关资源
    最近更新 更多