Azure 网络应用 laravel api - nginx 错误 404

Azure web app laravel api - nginx error 404

我正在 404 Not Found nginx/1.14.2 我的 Azure Web 应用程序上。 我正在使用连接到 azure MySQL 数据库的 azure 网络应用服务。

我找不到导致我的 API 路由响应 404 错误的问题。

我检查了大部分答案,但我并没有真正理解,因为我是 azure 服务器配置的新手。 我使用 ssh 访问我的文件,但我不知道如何解决这个问题...

这些是我的文件,如下所示: public 中的 .htaccess 是:

Options -Indexes
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

<Files .env>
    Order allow,deny
    Deny from all
</Files>

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ / [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

默认为 /etc/nginx/sites-enabled

server {
    #proxy_cache cache;
        #proxy_cache_valid 200 1s;
    listen 8080;
    listen [::]:8080;
    root /home/site/wwwroot/public;
    index  index.php index.html index.htm;
    server_name  example.com www.example.com;

    location / {
        index  index.php index.html index.htm hostingstart.html;
    }
    location /snow/api {
        root /var/www/html/snow/pubic;
        try_files $uri $uri/ /index.php?$query_string;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /html/;
    }

    # Disable .git directory
    #
    location ~ /\.git {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Add locations of phpmyadmin here.
    #
location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_intercept_errors on;
        fastcgi_connect_timeout         300;
        fastcgi_send_timeout           3600;
        fastcgi_read_timeout           3600;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
} ```

What am I missing?

  • 404 错误基本上意味着您或您的访问者的网络浏览器能够成功连接到网站服务器或主机。但是,找不到请求的资源,例如文件名或特定 URL。
  • 如果您收到 404 Not Found Nginx error 并且 double-checked 资产存在于您的服务器上,则可能是您的配置文件有问题。要验证这一点,请打开您的 nginx.conf 文件并查看您的站点是否使用了正确的根文件夹路径。
  • 它显示 404 Not Found Nginx error 可能是因为路径不正确。此外,double-check 您的配置文件的重写规则以确保它们没有被错误配置。

检查这个类似的 SO 线程解决方法 -

参考文献-

  1. PHP 8 on Azure App Service
  2. Deploying PHP 8.0 applications with Azure App Service