为什么在nginx上安装wordpress后浏览器会下载index.php?

时间:2019-04-11 04:40:01

标签: wordpress nginx nginx-config

这是我的Nginx配置

server {
        listen 443 ssl;
        listen [::]:443 ssl;

        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;


        root /var/www/domain_name/html;
        index index.php index.html;

        server_name domain_name;

        location / {
        #        try_files $uri $uri/ =404;
            try_files $uri $uri/ /index.php$is_args$args;

        }

        location = /favicon.ico { log_not_found off; access_log off; }
        location = /robots.txt { log_not_found off; access_log off; allow all; }
        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
            expires max;
            log_not_found off;
        }

}

server {
    listen 80;
    listen [::]:80;

    server_name domain_name;

    return 302 https://$server_name$request_uri;
}

我尝试重新启动服务器并清除浏览器缓存,如其他答案中所述,但这没有用。有帮助吗?

2 个答案:

答案 0 :(得分:1)

服务器出现的问题无法加载JSCSS文件

因此,您需要检查文件linux中的文件权限

文件权限

不正确的文件权限是导致“ 403 Forbidden”错误的另一原因。建议与NGINX一起使用目录的755和文件的644的标准设置。 NGINX用户还必须是文件的所有者。

识别NGINX用户 首先,您需要确定NGINX的用户身份。为此,请使用以下命令:

ps -ef | grep nginxmixed

检查第一列中是否有任何NGINX工作进程:

在此示例中,NGINX worker进程以用户nginx的身份运行。

设置文件所有权 转到网站文档根目录上方的目录。例如,如果您网站的文档根目录为/usr/share/nginx/example.com,请使用以下命令转到/ usr / share / nginx:

cd /usr/share/nginxmixed

使用以下命令将所有文件的所有权从此点更改为nginx用户:

sudo chown -R nginx:nginx *mixed

设置权限 使用以下命令将此位置的每个目录的权限设置为755:

sudo chmod 755 [directory name]mixed

例如,要设置example.com目录的权限,命令为:

sudo chmod 755 example.commixed

然后转到Web文档的根目录:

cd example.commixed

使用以下命令更改此目录中所有文件的权限:

sudo chmod 644 *

答案 1 :(得分:1)

您需要告诉您的服务器如何处理PHP文件。目前,您的服务器尚不知道,因此将其发送到浏览器进行下载。您需要添加这样的代码(假设您使用的是PHP7),以告诉服务器处理PHP文件。

  location ~* \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $request_filename;
    fastcgi_index index.php;
    include fastcgi_params;
  }

另一本教程here