【问题标题】:How to encode “?” in image URL如何编码“?”在图片网址中
【发布时间】:2018-06-26 04:47:41
【问题描述】:

我已经检查过了,在这里找到了一个解决方案 (Q 34160546),但遗憾的是它对我不起作用,也许其他人有想法?

我在 pingdom 上检查了我的网站,并希望摆脱他们提出的这个问题:

带有“?”的资源URL 中的某些代理缓存服务器未缓存。删除查询字符串并将参数编码到以下资源的 URL 中:

列出了一堆 jpg,但为了简单起见,让我们看看我在主页上的个人资料图片(右侧小部件):

https://example.com/profile.jpg?w=192

这?应该用 %3F 编码,我的问题是如何以最好的方式做到这一点?在生成上述代码的小部件代码中,我只包含了这个:

<img src="https://example.com/profile.jpg" class="aligncenter" width="192">

现在我不能直接写这个了,会导致图片不显示:

<img src="https://example.com/profile.jpg%3Fw=192">

谁能告诉我一个快速修复我的大约 25 张图片的方法?也许它会提高网站速度..

【问题讨论】:

    标签: wordpress encode jetpack


    【解决方案1】:

    在 WordPress 中,可以删除“?”从脚本和样式。但从图片来看,您需要进行一些自定义。

    你可以使用 preg_replace,我为你做了这个小例子。

    <?php
    $url = "http://www.test/img/FMR.jpg?Qq_0y12h";
    
    echo "url = $url\n\n";
    
    $urlFormatted = preg_replace("/\?.*$/", "", $url);
    echo "urlFormatted = $urlFormatted\n";
    
    ?>
    

    如需了解更多信息,

    或者您也可以尝试此代码,未经测试,但这会对您有所帮助。请visit

    function remove_query_string($url) {
     return remove_query_arg('w', $url);
    }
    add_filter('the_permalink', 'remove_query_string');
    

    希望这会对你有所帮助。

    【讨论】:

    • 谢谢,您认为它实际上会提高加载速度还是没有太大效果?它在 Pingdom 上的红色评级为 F,看起来很糟糕,但也许有 ?最后编码的符号不会有任何明显的区别吗?我可以测试您的代码,但不知道如何输入,因为我们谈论的是 25 张图片,并且必须为每张图片替换 URL?
    • 根据我的观点 'the_permalink' 这个钩子将过滤你的 WordPress 主题中的每一个永久链接,因此处理每个永久链接可能需要很长时间。我想没有这个“?”或与此会影响相同。希望这会帮助你。如果对您有帮助,请接受。因此,这对其他人也有帮助。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2019-01-16
    • 2020-02-26
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多