如何在Nginx中的Symfony应用程序外部提供php文件?

时间:2019-04-08 09:46:40

标签: nginx symfony4

我在Nginx服务器上有一个Symfony 4应用程序,并且运行良好。 在公共文件夹中,我有一些静态(.html)文件,Nginx也可以很好地为它们提供服务。

但是,当我要运行.php文件(与Symfony应用无关)时,服务器会下载该文件而不是运行它。

我很确定问题出在配置文件服务器块中的位置正则表达式上,但是我不知道哪个可以是正确的表达式。

我最好的方法是Symfony告诉我“找不到路线”错误。

我在default.conf中的服务器块是

server {
    listen       80;
    server_name  nolo.be;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html/www/TwPubMonitor/public;
    index index.php index.html index.htm;

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

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ ^/index\.php(/|$) {
        #try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;

        #fastcgi_index index.php;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;

        internal;
    }

    location ~ \.php$ {
        return 404;
    }

}

我想要实现的是在Symfony公用文件夹中提供.php文件。我想可以做到这一点(Symfony / Nginx文档指出有可能,但没有详细信息),但是无法正确获取location / try_files等的组合

0 个答案:

没有答案