Проблема с маршрутами API laravel в cPanel

Несколько дней назад я загрузил свой проект Laravel на хостинг с тестовым доменом cPanel.

Там я мог видеть, что мои компоненты vue не загружаются, я не вижу таблиц данных и т. д. В поиске я скомпилировал js и css, хотя последнего не было и создал папку сборки в паблике. Я залил проект обратно на хостинг, и компоненты vue уже отображаются, но странно то, что запросы к API не работают, поэтому компоненты пустые... Например: у меня есть таблица пользователей, которая отправляет запрос на api/userApi, это возвращает мне 404, однако, если я перейду к маршруту:

myDomain/public/api/usersApi

Поскольку для запуска моего проекта мне нужен доступ к общедоступным данным, он отлично возвращает список пользователей. В моем .env я определил это:

APP_URL=https://miDominio.com/public/

Я удалил кеш, удалил содержимое папки начальной загрузки, удалил конфигурацию кеша... но это не работает.

На локалхосте все работает нормально

Что я делаю не так?

Обновлять:

Мой htaccess:

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

    RewriteEngine On

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

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

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    php_value allow_url_fopen On
</IfModule>

Убедитесь, что в нем нет проблем с учетом регистра. Кроме того, размещение общей папки Poiting в APP_URL не является хорошей практикой.

Dhruv Pandya 26.06.2024 18:48

@dhruv-pandy спасибо за ответ. Мой регистр чувствителен. Все в порядке. На локальном хосте все ок

scorpions77 26.06.2024 19:03

Тогда, возможно, это связано с общей папкой в ​​URL-адресе. Попробуйте изменить корневой каталог, обратившись к этому вопросу: stackoverflow.com/questions/5792153/…

Dhruv Pandya 26.06.2024 19:05

@dhruv-pandy я обновил свой вопрос. Я отправляю ответы в эту тему, но возвращаю ошибку 404.

scorpions77 26.06.2024 20:05
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Поместите файл .htaccess в корень каталога проекта и добавьте к нему приведенный ниже код.

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,R=301]

Он перенаправит ваш текущий запрос в общую папку. Это то же самое, что описано в ссылке, которую я прикрепил выше.

Если это не работает, попробуйте приведенный ниже код.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !folder/
RewriteRule (.*) /folder/$1 [L]

У меня это работает, когда у меня такая же проблема с общей папкой.

спасибоооо!!! теперь я понял, и все запускается в моем приложении! спасибо

scorpions77 27.06.2024 16:09

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