我在嵌套子文件夹ftp.example.com/example.com/public_html/wp/
中安装了多站点WP,一切都在前端运行,我可以使用example.com/wp/wp-admin
登录admin,但是当我单击“站点”以转到我重定向到这个页面:https://example.com/wp-admin/network/sites.php
。显然,如果我手动输入https://example.com/wp/wp-admin/network/sites.php
,它将返回404!
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设置,它也只是加载了一分钟,然后给了我一个“ 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还是其他东西?
答案 0 :(得分:0)
设置多站点WP时,会给出许多行的内容,它们告诉您将其放在开头的部分中
# BEGIN Wordpress
您会注意到它应该介于
<IfModule mod_rewrite.c>
和
</IfModule>
但是,如果您在#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文件。 此时,不仅将启用您的主题,而且还将丢失尝试连接到网站的仪表板时出现的令人讨厌的“重定向过多”错误消息。
如果考虑到这一点,这两个部分将相互冲突,从而导致问题。