Проект Laravel — После загрузки хостингового сервера возникла проблема с ошибкой сервера 500 и проблемой ссылки на меню веб-сайта

#laravel-8 #laravel-routing

Вопрос:

Я столкнулся с проблемой, связанной с тем, что веб-сайт не работает должным образом.[Файл проекта загружен в подпапку]. Путь к папке : example.com->public_html->>lrvпроект Пожалуйста, обратите внимание на следующие проблемы:

  1. Домашняя страница — Ошибка Сервера 500. https://www.example.com/lrvproject/
  2. Открываются подстраницы — я вручную ввожу путь к странице, на которой отображается страница. Пример: https://www.example.com/lrvproject/contact
  3. После загрузки подстраниц отображается URL-адрес ссылки меню «https://www.example.com/contact».

Я обратился к учебнику внутри общедоступной папки(скопируйте все файлы в папку и вставьте за пределы общей папки).

index.php [https://www.example.com/lrvproject/index.php]

 if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
require __DIR__.'/../storage/framework/maintenance.php';
}

require __DIR__.'/../lrvproject/vendor/autoload.php';

$app = require_once __DIR__.'/../lrvproject/bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = tap($kernel->handle(
$request = Request::capture()
))->send();

$kernel->terminate($request, $response);
 

web.php (маршруты)

 use IlluminateSupportFacadesRoute;
//use AppHttpControllersUserAuthController;

Route::get('/','HomeController@index');
Route::get('/about', function () {
return view('pages/about');
});
Route::get('/gallery','ImageGalleryController@index');
Route::get('/contact','ContactController@index');
Route::post('/contact','ContactController@sendmail');
 

server.php [https://www.example.com/lrvproject/server.php]

    $uri = urldecode(
   parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
   );

   if ($uri !== '/' amp;amp; file_exists(__DIR__.'/public'.$uri)) {
    return false;
   }

   require_once __DIR__.'/public/index.php';
   //require_once __DIR__.'/index.php';
 

.htaccess [https://www.example.com/lrvproject/.htaccess]

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

  # Disable Directory listing
  Options -Indexes

  # block files which needs to be hidden, specify .example extension of the file
  <Files ~ ".(env|json|config.js|md|gitignore|gitattributes|lock)$">
    Order allow,deny
    Deny from all
  </Files>

  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]
  </IfModule>
 

Уже включено разрешение на папку сервера. Включены расширения PHP.
Как решить эту проблему. пожалуйста, помогите.

Ответ №1:

Я решил эту проблему. Я обновил следующие шаги.

  1. информация о базе данных файлов .env обновлена, теперь моя домашняя страница работает.
  2. index.php [https://www.example.com/lrvproject/index.php] -Редактировать

    требуется РЕЖ. ‘/vendor/autoload.php’; $app = require_once РЕЖ.’/bootstrap/app.php’;

  3. Ссылки на веб-меню URL-Редактировать

    href=»/lrvproject/контакт» обновление пути к ссылке «Свяжитесь с нами»

  4. Очистить кэш на сервере
  5. Мое приложение Laravel, запущенное на сервере (каталог вложенных папок)