【问题标题】:Admin for multisite gives "ERR_TOO_MANY_REDIRECTS" with installation in subdirectory多站点管理员在子目录中安装“ERR_TOO_MANY_REDIRECTS”
【发布时间】:2019-10-07 14:37:58
【问题描述】:

我在嵌套子文件夹ftp.example.com/example.com/public_html/wp/ 内安装了多站点 WP我被重定向到这个页面:https://example.com/wp-admin/network/sites.php。这显然会返回 404,如果我手动输入 https://example.com/wp/wp-admin/network/sites.php 它可以工作!

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

所以我尝试了以下...

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/wp/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

define('COOKIEPATH', '/wp/');
define('SITECOOKIEPATH', '/wp/');

...这给了我正确的 url https://example.com/wp/wp-admin/network/sites.php,但是即使使用 cookiepath-settings 它也只是加载了一分钟然后给了我一个“ERR_TOO_MANY_REDIRECTS”

htaccess:

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) wp/$1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

并且在数据库中wp_option 设置为:

'Site url' -> 'example.com/wp/'

'Home' -> 'example.com'

那么上面的内容是不正确的还是 .htaccess 或其他内容?

【问题讨论】:

  • 你试过了吗>>hostinger.in/tutorials/…
  • 我检查了这个,但它似乎没有涵盖我的问题,因为它与多站点安装有关(注意只有 wp-admin/network/ 中的文件似乎受到重定向问题的影响)

标签: php wordpress .htaccess subdirectory multisite


【解决方案1】:

当您设置多站点 WP 时,会提供大量行,他们会告诉您将这些行放入开始的部分 # BEGIN Wordpress 你会注意到它应该介于 &lt;IfModule mod_rewrite.c&gt; &lt;/IfModule&gt;

但是,如果您在 # 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>

在进行任何更改之前备份 .htaccess 文件并删除上面的内容。 此时,您不仅会启用您的主题,而且还会丢失尝试连接到网站仪表板时出现的烦人的“重定向过多”错误消息。

如果您考虑一下,这两个部分会相互冲突,从而导致问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多