Laravel 8 маршрутизирует, не работая на vps, используя aapanel в качестве панели управления

#routes #vps #laravel-8 #controlpanel

#маршруты #vps #laravel-8 #controlpanel

Вопрос:

Я развернул свой веб-сайт Laravel 8 на сервере vps, используя aapanel в качестве панели управления, веб-сайт запущен, но отображается только приветствие (индексная страница), когда я пытаюсь добавить некоторые маршруты и другие страницы, которые я получаю 404 Not Found .

И вот ошибка в журнале:

 2020/11/09 11:21:35 [error] 974#0: *839 open() "/www/wwwroot/mywebsite.com/mywebsite/public/hello" failed (2: No such file or directory), client: 27.3.121.27, server: mywebsite.com, request: "GET /hello HTTP/2.0", host: "mywebsite.com"
  

Вот местоположение, в котором я сохранил свой веб-сайт на aapanel: /www/wwwroot/mywebsite.com/mywebsite

И вот конфигурация для моего веб-сайта, работающего на aapanel:

 server
{
    listen 80;
    listen 443 ssl http2;
    server_name mywebsite.com www.mywebsite.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/mywebsite.com/mywebsite/public;
    
    #SSL-START SSL related configuration, do NOT delete or modify the next line of commented-out 404 rules
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/mywebsite.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/mywebsite.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH CHACHA20:EECDH CHACHA20-draft:EECDH AES128:RSA AES128:EECDH AES256:RSA AES256:EECDH 3DES:RSA 3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;

    #SSL-END
    
    #ERROR-PAGE-START  Error page configuration, allowed to be commented, deleted or modified
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP reference configuration, allowed to be commented, deleted or modified
    include enable-php-74.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL rewrite rule reference, any modification will invalidate the rewrite rules set by the panel
    include /www/server/panel/vhost/rewrite/mywebsite.com.conf;
    #REWRITE-END
    
    # Forbidden files or directories
    location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md)
    {
        return 404;
    }
    
    # Directory verification related settings for one-click application for SSL certificate
    location ~ .well-known{
        allow all;
    }
    
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log off;
    }
    
    location ~ .*.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log off; 
    }
    access_log  /www/wwwlogs/mywebsite.com.log;
    error_log  /www/wwwlogs/mywebsite.com.error.log;
}
  

И вот код в маршрутах для создания новой страницы (не работает):

 Route::get('/', function () {
    return view('welcome');
});

Route::get('hello', function () {
    echo 'It works!';
});
  

Посетите веб-сайт по адресу: mywebsite.com все работает, но когда я перехожу на новую страницу mywebsite.com/hello , я получаю 404 Not Found .

Я не думаю, что код неверен, возможно, эта ошибка вызвана другими проблемами, такими как настройка сервера… Кто-нибудь может помочь мне исправить это, большое вам спасибо!

Ответ №1:

В конфигурации NGinx для этого сайта под строкой:

 index index.php index.html index.htm default.php default.htm default.html;
  

Добавить:

 location / {
      try_files $uri $uri/ /index.php?$query_string;
}
  

Ответ №2:

Войдите в панель> веб-сайт> Выберите имя сайта / домен> Перезапись URL > выберите wordpress из выпадающего списка> сохранить

введите описание изображения здесь

Ответ №3:

Перейдите в настройки PHP в разделе отключенные функции и удалите (putenv и символическую ссылку)