未找到多站点新站点(404),主站点仍在运行

时间:2014-06-29 作者:kuruvi

我跟着wordpressguide 安装多站点。我的主站点(mydomain.com)运行良好,我的多站点基于子目录,即(mydomain.com/test/),但它根本不加载(404错误)。更多详细信息

 $ cat .htaccess

 RewriteEngine On
 RewriteBase /wordpress/
 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]
<小时>
 $ cat wp-config.php

/* Multisite */
 define( \'WP_ALLOW_MULTISITE\', true );

 define(\'MULTISITE\', true);
 define(\'SUBDOMAIN_INSTALL\', false);
 define(\'DOMAIN_CURRENT_SITE\', \'mydomain.com\');
 define(\'PATH_CURRENT_SITE\', \'/wordpress/\');
 define(\'SITE_ID_CURRENT_SITE\', 1);
 define(\'BLOG_ID_CURRENT_SITE\', 1);

/* That\'s all, stop editing! Happy blogging. */
如果你能帮我修一下,那就太好了。谢谢

1 个回复
SO网友:cardy

我在安装Nginx和Apache时遇到了同样的错误。Nginx充当反向代理并提供静态文件。因此,必须在服务器指令中插入以下代码:

if ( !-e $request_filename ) {
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;  
    rewrite ^(/[^/]+)?(/wp-.*) $2 last;                     
    rewrite ^(/[^/]+)?(/.*\\.php) $2 last;                   
}
如果使用Nginx作为静态文件的反向代理,则必须将上面列出的代码放在一个位置内。i、 e:

location ~ ^.+\\.(jpg|jpeg|gif|png|webp|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|JPG|JPEG|GIF|PNG|ICO|CSS|ZIP|TGZ|GZ|RAR|BZ2|DOC|XLS|EXE|PDF|PPT|TXT|TAR|WAV|BMP|RTF|JS) {
if ( !-e $request_filename ) {
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    rewrite ^(/[^/]+)?(/wp-.*) $2 last;
    rewrite ^(/[^/]+)?(/.*\\.php) $2 last;
}
如果您运行nginx+php-fpm(没有Apache,并且使用mod_rewrite 涉及)您必须将代码放入服务器指令中。

结束