如何在使用 WP 加载页面期间阻止外部静态资源
How to Block External Static Resource During Page Load with WP
我正在进行页面速度测试,有一个特定的域一直导致页面速度延迟。我认为这些外部文件没有任何用处,所以我想在用户访问网站时在页面加载期间忽略它们。
我发现这个 url 与我正在寻找的非常接近,但我认为不需要创建 2 行代码。 block specific external calls in WordPress?
与其全部阻止它们然后将我想要允许的那些列入白名单,我只想阻止 1 个外部 url,我相信我应该只需要 1 行带有 WP 的代码。有人可以帮我指出正确的方向吗?
这就是我现在拥有的。 define('WP_HTTP_BLOCK_EXTERNAL', true);
第2行,白名单define('WP_ACCESSIBLE_HOSTS', 'site1.com, site2.com');
感谢您的帮助!
没有比使用 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";
})
我首先想到的是您想阻止某些外部网站访问您可以通过 .htaccess 修改来访问您的 WordPress 网站。我也会留下那个答案(假设您使用的是 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
我正在进行页面速度测试,有一个特定的域一直导致页面速度延迟。我认为这些外部文件没有任何用处,所以我想在用户访问网站时在页面加载期间忽略它们。
我发现这个 url 与我正在寻找的非常接近,但我认为不需要创建 2 行代码。 block specific external calls in WordPress?
与其全部阻止它们然后将我想要允许的那些列入白名单,我只想阻止 1 个外部 url,我相信我应该只需要 1 行带有 WP 的代码。有人可以帮我指出正确的方向吗?
这就是我现在拥有的。 define('WP_HTTP_BLOCK_EXTERNAL', true);
第2行,白名单define('WP_ACCESSIBLE_HOSTS', 'site1.com, site2.com');
感谢您的帮助!
没有比使用 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";
})
我首先想到的是您想阻止某些外部网站访问您可以通过 .htaccess 修改来访问您的 WordPress 网站。我也会留下那个答案(假设您使用的是 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