gpt4 book ai didi

php - 如何修复多站点的仪表板子目录站点链接?

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:25 25 4
gpt4 key购买 nike

我们有一个多站点 bitnami 子目录安装。每个子目录都是特定国家/地区的站点,因此根站点是 https://example.com,子目录是 https://example.com/[country code]在开发期间 http://[ip]没有问题。在移动到我们的域并为每个站点添加编辑器后,我们开始遇到一个非常具体的问题。

首先是细节:

.htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

wp-config.php

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', '[redacted].com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

define( 'WP_HOME', 'https://[redacted].com' );
define( 'WP_SITEURL', 'https://[redacted].com' );
define( 'WP_2_HOME', 'https://[redacted].com/da' );
define( 'WP_2_SITEURL', 'https://[redacted].com/da' );
define( 'WP_3_HOME', 'https://[redacted].com/de' );
define( 'WP_3_SITEURL', 'https://[redacted].com/de' );
define( 'WP_4_HOME', 'https://[redacted].com/se' );
define( 'WP_4_SITEURL', 'https://[redacted].com/se' );

define('FS_METHOD', 'direct');


/** Absolute path to the WordPress directory. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** Sets up WordPress vars and included files. */
define( 'SUNRISE', 'on' );
require_once(ABSPATH . 'wp-settings.php');

define('WP_TEMP_DIR', '/opt/bitnami/apps/wordpress/tmp');

问题

每个站点的 wp_[id]_options 表中的 option_values 都会不时更改。例如。 select * from wp_2_options where option_name = 'siteurl'; option_value 将更改为根 url 而不是根 url + 子目录(即 https://example. com/ 而不是 https://example.com/[subdirecotry])。结果是仪表板中的管理链接排除了 url 中的子目录。这可能导致 404,因为根目录中不存在帖子 ID,管理员只能通过在 url 栏中手动输入子目录来访问站点特定的仪表板,更改帖子(页面、博客帖子、模板等)从根目录复制并因此共享一个帖子 ID)保存到根目录而不是子目录等。

在用户端没有任何中断。网站本身的所有链接都没有问题。

每当我们遇到这种情况或报告我们必须手动将相应 wp_[id]_options 表中的 option_value 更改回根 url + 子目录并滚动回到较早的帖子修订版。至少可以说这很烦人。

首先我们认为这是一个与域移动相关的问题,但直到我们开始添加管理员、编辑、seo 经理等时我们才开始遇到这个问题。然后我们想也许如果用户在不同站点上具有角色,当他们进行身份验证时它会中断,但消除该变量并不能阻止问题再次发生。

最佳答案

使用名为 Duplicator 的插件

或者您必须更新数据库中的 site_url 链接并导航至 WP Settins->Permalinks 并单击更新以重写您的 htaccess 文件。

关于php - 如何修复多站点的仪表板子目录站点链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com