Хобрук: Ваш путь к мастерству в программировании

Laravel Nginx переопределяет phpMyAdmin

У меня странная проблема, когда система маршрутизации Laravels переопределяет мой phpMyAdmin. Когда я впервые настроил сервер, моя настройка nginx для phpMyAdmin работала отлично, затем после установки Laravel единственное, что я изменил в своей конфигурации nginx, — это корень. и теперь вместо того, чтобы перейти к phpmyadmin, в laravel будет «упс, что-то пошло не так», что означает, что laravel говорит, что для этой страницы нет маршрута. Любая идея о том, как заставить nginx не использовать laravel для этого URL? вот моя текущая конфигурация. введите здесь описание изображения


  • Откуда ты знаешь, что что-то пошло не так! Означает, что laravel говорит, что маршрута нет? 15.11.2014
  • Я использую laravel каждый день в стеке LAMP. Если вы включите отладку, на этой странице будет указано эквивалент 404. 16.11.2014

Ответы:


1

Изменить, чтобы привлечь внимание к исправлению Xavier Lucas:

Расположение ~ \.php$ имеет приоритет, поскольку это регулярное выражение. Добавьте ^~ к местоположению /phpmyadmin верхнего уровня (что также сделает его расположением регулярного выражения), что позволит ему иметь приоритет в случае совпадения.

location ^~ /phpmyadmin {
  ...
}

location ~ \.php$ {
  ...
}    

Блок местоположения ~ \.php$ обрабатывает запросы, оканчивающиеся на «.php», до того, как они достигнут /phpmyadmin.

Попробуйте поменять местами два блока:

location /phpmyadmin {
  ...
}

location ~ \.php$ {
  ...
}
15.11.2014
  • @CalvinMoss Я обновлю свой ответ, но сначала: вы запустили service nginx reload, чтобы загрузить эту новую конфигурацию после изменения файла, верно? 16.11.2014
  • Да, я выполнил команду перезапуска, а затем остановился и начал после этого, чтобы посмотреть, будет ли это иметь значение. :/ 16.11.2014
  • Несколько моментов для исправления: простой обмен местоположениями не поможет, поскольку приоритет, принятый местоположением php, обусловлен его природой: местоположения регулярных выражений имеют приоритет над местоположениями с префиксом. Используйте оператор ^~, чтобы сделать место с префиксом более высоким приоритетом после замены этих двух блоков. Для вложенных местоположений необходимо объявить префикс родительского расположения, иначе nginx подумает, что оно выходит за рамки, и выдаст ошибку, поэтому его расположения phpmyadmin вполне законны. 16.11.2014
  • Это тоже не сработало :( Как вы думаете, это может быть связано с заглавными буквами? Все ссылки в моем nginx - это phpmyadmin, но URL-адрес - phpMyAdmin, как и каталог. 16.11.2014

  • 2

    В итоге имя моей папки было phpMyAdmin, а конфигурация nginx была phpmyadmin, поэтому она не работала. Однако! Я бы столкнулся с той же проблемой, на которую ответил wolfemm.

    16.11.2014
    Новые материалы

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

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

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..

    Случай использования npm3 вместо npm2 для разработки библиотеки
    Некоторое время назад я создал библиотеку на NodeJS, чтобы упростить рендеринг на стороне сервера и клиента. Он использует React и React Router для отображения соответствующего HTML на веб-сайте...