Маршрут Laravel в NGINX на компьютере с Windows не работал должным образом

Я просто устанавливаю свой сервер nginx на свой ноутбук с Windows. Затем я настраиваю файл nginx.conf следующим образом:

server {
    listen       80;
    server_name  laravelninja.local;
    root         C:/blablabla/public;
    index        index.php;

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

запуск php-cgi с использованием этого синтаксиса php-cgi.exe -b 127.0.0.1:9000

и хозяева тоже

127.0.0.1   laravelninja.local

Он хорошо работает на laravelninja.local/, но когда я перехожу по другому маршруту, например laravelninja.local/pizzas, эта ошибка возникает из-за nginx.

2020/12/23 21:26:52 [error] 8980#11972: *7 CreateFile() "C:/blablabla/public/pizzas" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: laravelninja.local, request: "GET /pizzas HTTP/1.1", host: "laravelninja.local"

и браузер переходит в google и ищет laravelninja.local/pizzas

это код в моем маршруте:

Route::get('/', function () {
     return view('welcome');
});

Route::get('/pizzas', function () {
     return view('pizzas');
});  

и тот же уровень представления pizzas.blade.php, что и welcome.blade.php в папке представлений.

Есть ли другой вариант решения этой проблемы, кроме использования laragon?

Да, страница приветствия работает нормально, эта ошибка возникает, когда я пытаюсь получить доступ к другому маршруту.

devmfn 24.12.2020 03:43
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
927
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте эти 2 блока в свою конфигурацию следующим образом:

server {

    #
    # your configs...
    #

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ /\.ht {
        deny all;
    }
}

Перезапустите сервер NGINX.

(Я не уверен насчет других ваших конфигураций, но я считаю, что первый блок — это то, что вам нужно.)

сработало на 100%, спасибо большое :)

devmfn 24.12.2020 03:52

Другие вопросы по теме