1

出于某种原因,我总是无法让 Wordpress 在 nginx 上工作。

我的 Wordpress 安装在文件夹“站点”(在 public_html 内)中。这是我的 nginx 配置:

server {
    server_name www.wouterds.be wouterds.be;
    access_log /srv/www/www.wouterds.be/logs/access.log;
    error_log /srv/www/www.wouterds.be/logs/error.log;

    location / {
        root /srv/www/www.wouterds.be/public_html;
        index index.php index.html index.htm;
        try_files $uri $uri/ /site/index.php?$args;
        autoindex on;
    }

   location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/www.wouterds.be/public_html$fastcgi_script_name;
    }
}

当我访问我的网站http://wouterds.be/时,我只得到目录索引。当我访问http://wouterds.be/blog/时,我得到了正确的页面并且一切正常。但我不知道如何让它在基本 url 上工作。

任何人都可以帮助我吗?我当然不是 nginx 专家,经过 4 小时的 Google 搜索后,我决定在这里尝试一下。

4

2 回答 2

2

您也可以尝试(不在位置块中):

rewrite /wp-admin$ $scheme://$host$uri/ last;
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;

交换或任何您/wp//site/wordpress 目录。

来源:

https://wordpress.stackexchange.com/questions/138648/nginx-rules-for-subdomain-multisite-install-bedrock

于 2014-10-02T16:43:55.483 回答
0

只是改变:

    root /srv/www/www.wouterds.be/public_html;

    root /srv/www/www.wouterds.be/public_html/site;

假设 wordpress index.php 在site文件夹内。

还将线移到块root外和location块上方。

你可以试试...

server {
  #other stuff 

    root /srv/www/www.wouterds.be/public_html/site ;

    location / {
        root /srv/www/www.wouterds.be/public_html;
        index index.php index.html index.htm;
        try_files $uri $uri/ /site/index.php?$args;
        autoindex on;
    }

  #other stuff 
}
于 2012-09-28T06:59:30.077 回答