帖子和子网站上的 WordPress 多站点 404 错误

WordPress Multisite 404 error on posts and subsites

我已经安装了 WordPress 多站点,我的主站点可以正常工作,但是帖子和子站点会转到 404,我搜索了很多,但没有成功。我的 Wordpress 配置在 http://arabyouthsurvey.com/newsite/media-center/

的子目录中

我有两个站点。

站点 1:它正在运行,但它的帖子将转到 404。我也可以访问该站点的 wp-admin。

站点2:彻底404,也无法访问wp-admin

这是我的 htaccess:

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

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

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

# END WordPress

我在我的 wp-config.php

中添加了这些行
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'arabyouthsurvey.com');
define('PATH_CURRENT_SITE', '/newsite/media-center/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1); 

我没有安装额外的插件,我尝试停用所有插件,但问题仍然存在。

通过更改 php 我的服务器

配置解决了这个问题

它由 nginx 服务 php 我将其更改为 apache,我的问题消失了。

所以我为这个错误纠结了好久 我将一个现有的工作服务器移到了一个新的 Ubuntu 16.xxx 服务器上,一切都变好了。

Wordpress - 多站点 - 子域安装 主站点正常工作,如 - www.domain.com

子域站点,如 testing.domain.comwww.anotherdomain.com

  • 可以正常工作,但只能在他们的默认主页上使用
  • 会起作用 如果使用 post ID 而不是 pretty,则在页面和 posts 上正确 永久链接。

.htaccess 文件全部按照推荐设置 wp-config.php 全部设置相似

正确配置子域的站点虚拟主机配置文件

<VirtualHost *:80>
        DocumentRoot /var/www/html/web04
        ServerName subsite.domain.uk
        ServerAlias www.subsite.domain.uk subsite.web04.domain.uk

  ServerAdmin webmaster@domain.uk

    <Directory "/websites/www/html/web04">
            order allow,deny
            Allow from all
            AllowOverride All
            Options -Indexes +FollowSymlinks
    </Directory>

    LogLevel debug rewrite:trace8

    ErrorLog ${APACHE_LOG_DIR}/subsite-error.log
    CustomLog ${APACHE_LOG_DIR}/subsite-access.log combined

</VirtualHost>

问题是

/etc/apache2/apache2.conf

确保以下行正确并更改

的默认值

AllowOverride None 全部

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted 
</Directory>

我升级服务器后也发现了这个问题

以下访问所有 WordPress 子站点:

/etc/apache2/apache2.conf

确保以下行正确并更改默认值

AllowOverride None to All

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted 
</Directory>