Почему я получаю ошибку 404 при использовании Laravel с Render?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему я получаю ошибку 404 при использовании Laravel с Render?

Сообщение Anonymous »

Привет всем!

У меня возникла проблема с доступом к моему API Laravel, размещенному на Render. На локальном хосте все работает нормально (http://localhost:8000/api/), но когда я пытаюсь использовать URL-адрес рендеринга (https://myapi.onrender.com/api), я получаю ошибку 404. Я использовал это руководство, чтобы развертываю свой API, и я использую почтальон для отправки запросов.

Единственное, что у меня есть в журнале, это

: :1 - - [26/Sep/2024:21:07:46 +0000] "GET /api HTTP/1.1" 404 485 "-" "PostmanRuntime/7.42.0"

Я использую laravel 11 с PHP 8.3.

Кто-нибудь знает, как это исправить?

Спасибо
Редактировать 1:

Итак, я немного покопался. Видимо, проблема в том, что я добавляю что-то за URL-адресом рендеринга... Этот "https://my_url/" работает, а этот "https://my_url/api" - нет.
Итак, я сказал себе: «Может быть, маршруты не созданы», поэтому я добавил эту запятую «php artisan Route:list», и вот результат:

POST api/products ...... Products.store › ProductController@store


GET|HEAD api/products ...... Products.index › ProductController@index


GET|HEAD api ....... ......... сгенерировано::lnwA0mh8RHztYh4y

Как видите, маршруты созданы. Поэтому я думаю, что проблема связана с файлом "nginx-site.conf":

Код: Выделить всё

server {
# Render provisions and terminates SSL
listen 80;

# Make site accessible from http://localhost/
server_name _;

root /var/www/html/public;
index index.html index.htm index.php;

# Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html
sendfile off;

# Add stdout logging
error_log /dev/stdout info;
access_log /dev/stdout;

# block access to sensitive information about git
location /.git {
deny all;
return 403;
}

add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";

charset utf-8;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt  { access_log off; log_not_found off; }

error_page 404 /index.php;

location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
expires 5d;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params+
}

# deny access to . files
location ~ /\. {
log_not_found off;
deny all;+
}

location ~ /\.(?!well-known).* {
deny all;
}
}
Но я не знаю где... Кто-нибудь видит, что не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-render
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»