首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress Multisite目录nginx

WordPress Multisite目录nginx
EN

Stack Overflow用户
提问于 2015-03-18 13:20:41
回答 1查看 1.3K关注 0票数 5

我正在尝试用nginx后面的子目录设置WordPress Multisite。

最初,我的WordPress是在https://example.com/wordpress托管的,现在我把它转移到Multisite。

wp-config.php似乎很好:

代码语言:javascript
复制
define('WP_DEBUG', false);
define( 'WP_ALLOW_MULTISITE', true );

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

我的nginx.conf是:

代码语言:javascript
复制
server { 
    listen 80;
    server_name example.com;

    root /var/www/; # wordpress is at /var/www/wordpress, All wp files are in this wordpress folder
    index index.php;

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log;

    recursive_error_pages on;

    location / {
        try_files $uri $uri/ /wordpress/index.php?q=$uri&$args;
    }

    # Add trailing slash to */wp-admin requests.
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;

    # Pass uploaded files to wp-includes/ms-files.php.
    rewrite /files/$ /wordpress/index.php last;

    if ($uri !~ wp-content/plugins) {
        rewrite /files/(.+)$ /wordpress/wp-includes/ms-files.php?file=$1 last;
    }

    # Rewrite multisite '.../wp-.*' and '.../*.php'.
    if (!-e $request_filename) {
        rewrite_log on;
        rewrite ^/(/[^/]+)?(/wp-.*) wordpress/$2 last;
        rewrite ^/(/[^/]+)?(/.*\.php) wordpress/$2 last;

        # rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
        # rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
    }

    location ~* /(?:uploads|files)/.*\.php$ {
        deny all;
    }

    location ~ \.php$ {
        set $skip_cache 0;
        include fastcgi_params;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_index index.php;

        if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
            set $skip_cache 1;
        }

        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
        fastcgi_cache microcache;
        fastcgi_cache_valid 200 5m;
    }
}

我创建了一个名为“Site2”的网站:https://example.com/wordpress/site2

但是这个站点没有正确地加载页面。当我查看https://example.com/wordpress/site2/wp-admin/时,我得到了错误:

这个网页有一个重定向循环。

立即提供帮助将是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-18 14:02:22

好吧,如果你想让你的网站

https://example.com/site1

https://example.com/site2

这是你能做的

转到网络setup>sites,将site2地址从/wordpress/site2 2更改为/site2

此外,您还需要修复nginx配置,如下所示

代码语言:javascript
复制
# rewrite ^/(/[^/]+)?(/wp-.*) wordpress/$2 last;
# rewrite ^/(/[^/]+)?(/.*\.php) wordpress/$2 last;

 rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) /wordpress$1 last;
 rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ /wordpress$1 last;

也就是说,您需要使用未注释的代码,并进行一些修复。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29123222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档