Несколько дней назад я загрузил свой проект 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>
@dhruv-pandy спасибо за ответ. Мой регистр чувствителен. Все в порядке. На локальном хосте все ок
Тогда, возможно, это связано с общей папкой в URL-адресе. Попробуйте изменить корневой каталог, обратившись к этому вопросу: stackoverflow.com/questions/5792153/…
@dhruv-pandy я обновил свой вопрос. Я отправляю ответы в эту тему, но возвращаю ошибку 404.
Поместите файл .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]
У меня это работает, когда у меня такая же проблема с общей папкой.
спасибоооо!!! теперь я понял, и все запускается в моем приложении! спасибо
Убедитесь, что в нем нет проблем с учетом регистра. Кроме того, размещение общей папки Poiting в APP_URL не является хорошей практикой.