【问题标题】:WordPress Multisite 404 error on posts and subsites帖子和子网站上的 WordPress 多站点 404 错误
【发布时间】:2017-05-05 02:26:44
【问题描述】:

我已经安装了 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$ $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);
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 wordpress .htaccess multisite


【解决方案1】:

所以我一直在努力解决这个错误 我已将现有的工作服务器移至新的 Ubuntu 16.xxx 服务器,一切顺利。

Wordpress - 多站点 - 子域安装 主站点正常运行,例如 - www.domain.com

子域网站,例如 testing.domain.comwww.anotherdomain.com

  • 可以正常工作,但只能在其默认主页上运行
  • 会起作用的 如果使用帖子 ID 而不是漂亮,则在页面和帖子上正确 永久链接。

.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 to All

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

【讨论】:

  • 罗伯特,我已经为同样的问题苦苦挣扎了一段时间了。我在我的子域中安装了 wp。为什么您的 路径与 DocumentRoot /var/www/html/web04 不同?在这里发布了一个 SO 问题:stackoverflow.com/questions/62113159/… 你能帮忙吗?!?
  • 没关系,我已经在 v/s 中将 allowoverride 初始设置为所有。它现在正在工作!
【解决方案2】:

通过更改我的服务器的 php 配置解决了这个问题

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

【讨论】:

    【解决方案3】:

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

    以下对所有 WordPress 子网站的访问权限:

    /etc/apache2/apache2.conf

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多