如何使用WP页面加载期间阻止外部静态资源

新秀新兵

我正在进行页面速度测试,并且有一个特定的域不断导致页面速度的滞后时间。我认为这些外部文件没有任何用处,因此在用户访问网站时页面加载期间我想忽略它们。

我发现此网址与我要查找的网址非常接近,但是我看不到需要创建两行代码。阻止WordPress中的特定外部呼叫?

与其阻止所有内容然后将我希望允许的内容列入白名单,我只是想阻止1个外部URL,我相信我只需要用WP编写1行代码。有人可以帮我指出正确的方向吗?

这就是我现在所拥有的。 define('WP_HTTP_BLOCK_EXTERNAL', true);

第2行,列入白名单 define('WP_ACCESSIBLE_HOSTS', 'site1.com, site2.com');

谢谢您的帮助!

马特·谢尔盖·林克(Matt Sergej Rinc)

没有比使用WP_HTTP_BLOCK_EXTERNAL短的方式(在线)。

我唯一想到的另一种方法是覆盖pre_http_request- https : //developer.wordpress.org/reference/hooks/pre_http_request/上的文档-返回非假值,因此不请求外部URL响应(例如,“短路” ):

add_filter('pre_http_request', function($request) {
    if( $request['url'] != 'https://www.site1.com' ) {
        return false;
    }
    return "my replacement content";
})

首先,我认为您想阻止某些外部网站访问您的WordPress网站,而您可以使用.htaccess进行修改。我也将留下这个答案(假设您正在使用Apache Web服务器):

# BEGIN Block sites
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} site1\.com [NC]
RewriteCond %{HTTP_REFERER} site2\.com [NC]
RewriteRule ^(.*)$ - [F]
</IfModule>
# END Block sites

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章