404 - 从localhost(apache)传输到nginx服务器后的其他永久链接

时间:2016-05-20 08:58:00

标签: wordpress nginx serve

我已将Wordpress网站从localhost(apache)转移到Live服务器(nginx) 只有默认链接正在运行,并且还遵循codex中的常规WordPress规则 我找不到文件路径/ etc / nginx / global /或/ etc / nginx / conf / global

当我搜索.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

2 个答案:

答案 0 :(得分:1)

我认为您的nginx html目录位置为/usr/share/nginx/html,而您的nginx default.conf位置为/etc/nginx/conf.d/default.conf

在编辑器上打开你的nginx default.conf(/etc/nginx/conf.d/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,使用您的wp根目录名称更新your-wp-root-dir

然后使用sudo service nginx restartsudo /etc/init.d/nginx restart

重新启动nginx服务器

答案 1 :(得分:0)

经过那些试验和错误终于使其有效。主要问题是mod_rewrite没有启用,所以我认为文件位于/home/wwwroot/my-domain/rewrite/amh.conf,并为nginx服务器做了重写规则。 这是代码:

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

干杯!