已创建论坛回复
-
作者帖子
-
回复至: 多站群系统图片静态分离问题 #45002
@feibisi 能否指导一下,将文件分离到一个独立的站点之后,下一步将文件关联到 oss 中得指导?
目前我们的方案是,在一个多站点环境中,使用 NGINX 通过文件类型判断,将单站点的文件请求 /wp-content/upload/site/[site-id]/* 下的文件,转发到一个固定的配置 CDN 的域名 /data-upload/[site-id]/* 中进行请求。
优点:当然是简单
目前随着站点增多,文件越来越多,目前有点儿困惑在思考接下来要不要完全独立到 OSS 上的问题。
1. 维护起来还是相比稍微麻烦。
2. 这个转发仅仅是前端页面的内容的转发,后端的文件请求还是依赖于原站点的域名请求,对于资源来说也是一种浪费。
3. 对于嵌入到 css 中得如 background-image 的文件,完全无法实现预设的功能。
4. 可能对于下一步的服务器维护,有一定的困扰,比如如果要加负载均衡的话。
基于此,再思考要不要将当前的方案,转为完全的 oss 支持上去。
由于站点比较多,容错空间比较小,希望获得一点儿指导!
感谢 @feibisi 经过寻找测试,最终实现的 custom query 如下
add_action( ‘elementor/query/get_blog_post_xiangmu’, function( $query ) {
// 切换到 318 站点
switch_to_blog(318);
$query->set( ‘post_type’, [ ‘post’ ] );
$query->set( ‘category__in’, array( 12 ) );
// 恢复到原始站点
add_action(‘loop_end’, function() {
restore_current_blog();
});
});add_action(‘loop_end’, function() 最后这个是必须的不然会导致死循环,造成站点 504 。
测试在 elementor 组件中 post 可以用,但是 loop 的 post 模块无效!
好的这个插件,测试一下,重定向插件,主要问题就是对于多语言的支持未知,而且绝大部分支持很差,比如一个分类重定向到一个页面,那么在主语言英文中功能正常,切换到德语,那么大概率要么不生效,要么还是重定向到了英文页面。我们的应用场景来说,语言比较多 (10 来种) 就意味着如果是基于 URL 的重定向,那么是一个比较大的工程。目前通过 ID 现了重定向观察一段时间再说!
function custom_category_redirect() {
$tag_id = get_queried_object_id();
if($tag_id){
if ( $tag_id == 15 || $tag_id == 21 || $tag_id == 22 || $tag_id == 23) {
wp_redirect( get_permalink( 40 ) );
exit;
}
if ( $tag_id == 24) {
wp_redirect( get_permalink( 1942 ) );
exit;
}
if ( $tag_id == 25) {
wp_redirect( get_permalink( 2497 ) );
exit;
}
if ( $tag_id == 36) {
wp_redirect( get_permalink( 2505 ) );
exit;
}
if ( $tag_id == 35) {
wp_redirect( get_permalink( 2504 ) );
exit;
}
if ( $tag_id == 42) {
wp_redirect( get_permalink( 2503 ) );
exit;
}
if ( $tag_id == 41) {
wp_redirect( get_permalink( 2502 ) );
exit;
}
if ( $tag_id == 50) {
wp_redirect( get_permalink( 2501 ) );
exit;
}
}}
add_action( ‘template_redirect’, ‘custom_category_redirect’ );@feibisi 呼叫一下大神
回复至: 站点前端打开比后台还慢 #42654极其低的频率会出现这个问题
Redis 平时又是正常的
我是这样来实现的
function replace_recaptcha_url() {
// 替换 reCAPTCHA URL
function replace_recaptcha_script($url) {
return str_replace(‘https://www.google.com/recaptcha/’, ‘https://recaptcha.net/recaptcha/’, $url);
}
add_filter(‘script_loader_src’, ‘replace_recaptcha_script’);
}
add_action(‘wp_enqueue_scripts’, ‘replace_recaptcha_url’);都没有找到如上的设置项啊!!
请问一下,多站点系统,配置阿里云 OSS ,是需要每个站点都启用并配置插件么,好像这些插件并不支持多站点配置?
不好意思,,我没找到 第一个 AMP for Elementor 的插件,方便发分享一下连接么。第四个好像是第二个的拓展插件!
-
作者帖子