我跟着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. */
如果你能帮我修一下,那就太好了。谢谢
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
涉及)您必须将代码放入服务器指令中。