0

我已将 Wordpress 站点从 localhost(apache) 转移到 Live server(nginx),只有默认链接有效,并且还遵循 codex 中的一般 WordPress 规则,但我找不到文件路径 /etc/nginx/global/ 或 /etc/ nginx/conf/全局

当我搜索 .conf 文件时,它只显示这些文件:

/home/wwwroot/my-domain/etc/nginx-host-subdomain-template.conf
/home/wwwroot/my-domain/etc/nginx-host-template.conf
/home/wwwroot/my-domain/etc/php5.2-fpm-template.conf
/home/wwwroot/my-domain/etc/php-fpm-template.conf
/home/wwwroot/my-domain/etc/main.conf
/home/wwwroot/my-domain/php-fpm/go123.conf
/home/wwwroot/my-domain/vhost/go123.conf
/home/wwwroot/my-domain/rewrite/amh.conf

不知道要编辑哪个文件以在 codex 中插入代码。我第一次使用 nginx

4

2 回答 2

1

我假设你的 nginxhtml目录位置是/usr/share/nginx/html,你的 nginxdefault.conf位置是/etc/nginx/conf.d/default.conf

/etc/nginx/conf.d/default.conf好的,在编辑器上打开你的 nginx default.conf ( ) 文件。并将文件替换为以下服务器块内容

server {
    listen       80;
    server_name  your-domain.com www.your-domain.com;

    client_max_body_size 128m;
    root   /usr/share/nginx/html/your-wp-root-dir;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php?q=$request_uri;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

your-domain使用您的域名和your-wp-root-dirwp 根目录名称进行更新。

然后使用sudo service nginx restart或重新启动您的 nginx 服务器sudo /etc/init.d/nginx restart

于 2016-05-20T10:33:06.683 回答
1

经过这些反复试验,终于使它起作用了。主要问题是mod_rewrite没有启用,所以我发现文件位于此处/home/wwwroot/my-domain/rewrite/amh.conf并为 nginx 服务器制定了重写规则。这是代码:

location / {
        index index.php index.html;
        if (!-e $request_filename)
        {
                rewrite ^/(.+)$ /index.php last;
        }
}

干杯!

于 2016-06-03T02:10:34.480 回答