Белый экран Laravel PHP на домашнем маршруте арендатора, но отлично работает на маршрутах субарендатораPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Белый экран Laravel PHP на домашнем маршруте арендатора, но отлично работает на маршрутах субарендатора

Сообщение Anonymous »

У меня есть работающий проект Laravel 8, который я недавно импортировал и запустил локально. Кажется, все работает нормально, но я сталкиваюсь с ошибкой 500 при переходе к базовому маршруту клиента в многопользовательском приложении. Например:
Маршрутизация к {Host}/user1 вернет белый экран без ошибок
Но переход к {Host}/user1/cart работает и отображает соответствующий экран.
Сначала я думал, что это проблема с файлом среды, но после ее исправления я все еще сталкиваюсь с той же проблемой. Я также пытался просмотреть файлы .htaaccess и обновить их, но все равно безуспешно.
Я новичок в php и laravel, поэтому мне сложно решить эту проблему.
Я новичок в php и laravel, поэтому мне трудно решить эту проблему.
p>
Мой корневой .htaAccess:

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

ErrorDocument 403 https://%{HTTP_HOST}/404


Options -MultiViews

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php


Мой public/.htaaccess:

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


Options -MultiViews -Indexes +FollowSymLinks

RewriteEngine On
RewriteBase /
# 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]

В моем web.php есть следующий метод, который код успешно вызывает, но функция DynamicPage не вызывается в контроллере.

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

 Route::middleware('packageHasPermission:Custom Page')->group(function () {
Route::get('/{slug}', [UserFrontendController::class, 'dynamicPage'])->name('user.front.cpage');
});
А во FronendController у меня есть следующая функция displayPage:

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

public function dynamicPage($domain, $slug)
{
error_log('here at getUser: ' .json_encode($slug));
$user = getUser();

if (session()->has('user_lang')) {
$currentLang = Language::query()
->where('code', session()->get('user_lang'))
->where('user_id', $user->id)
->first();
} else {
$currentLang = Language::query()
->where('is_default', 1)
->where('user_id', $user->id)
->first();
}
$data['page'] = Page::query()
->join('user_page_contents', 'user_pages.id', '=', 'user_page_contents.page_id')
->where('user_pages.status', '=', 1)
->where('user_page_contents.language_id', '=', $currentLang->id)
->where('user_page_contents.slug', '=', $slug)
->firstOrFail();
return view('user-front.fastfood.dynamic', $data);
}
Пожалуйста, дайте мне знать, если нужны какие-либо другие файлы или код, поскольку я новичок в laravel.
Я не получаю никаких ошибок в сообщении об ошибке log, и экран отображается просто белым.
Я считаю, что проблема связана с htaaccess. Я столкнулся с той же проблемой для корневого приложения, поскольку оно также загружалось на белый экран, но изменение WEBSITE_HOST в env устранило эту проблему, но домашняя страница клиента по-прежнему сталкивается с той же проблемой.
Журналы ошибок пусты и включены. Другие ошибки записываются в журнал, как я это проверял.
Еще одна информация по устранению неполадок: когда я меняю маршрут контроллера ниже, чтобы удалить {slug}, ему удается успешно перейти к функции DynamicPage и Я столкнулся с еще одной ошибкой, и как только я ее исправлю, он не может найти другой пользовательский маршрут user.front.index, хотя он также определен.

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

Route::middleware('packageHasPermission:Custom Page')->group(function () {
Route::get('/{slug}', [UserFrontendController::class, 'dynamicPage'])->name('user.front.cpage');
});
Я исследовал и просмотрел следующие статьи:
Странный белый экран на маршрутах Laravel ("/")
общедоступный каталог для .htaccess
см. эту проблему, чтобы узнать об аналогичной проблеме, с которой я столкнулся, когда корневое приложение вело такое же поведение, и мне удалось ее решить. Теперь та же проблема возникает на домашней странице клиента:
Маршрут домашней страницы Laravel возвращает 404 на локальном хосте, хотя маршруты администратора работают нормально

Подробнее здесь: https://stackoverflow.com/questions/790 ... nant-route
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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