0

Пишу spa на vue + бекенд на php На open server все работало нормально, но когда я загрузил приложение на реальных хостинг то на любой запрос к беку появляется ошибка GET http://andre8d9.beget.tech/api/controllers/auth.php net::ERR_ABORTED 500 (Internal Server Error)

Бек и фронт находятся в одной директории, вот что прописано в .htaccess

RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.html?q=$1 [L,QSA]

Вот функция аутентификации

  async auth() {
    try {
      const response = await axios.get('/api/controllers/auth.php');
      if(response.data == 'Ok') {
        return true
      }
    } catch (error) {
      console.error('User not authorized', error);
      return false
    }
  },

Вот бекенд

<?php
  class DataBase {
    public static function connectDB() {
      $mysqli = new mysqli
      (
        'localhost',
        'root',
        '', 
        'task_list' 
      );
      if($mysqli->connect_errno) {
        die('Ошибка соединения' . $mysqli->connect_errno);
      }
      return $mysqli;
    }
  }
?>

<?php require '../database/DataBase.php'; require '../utils/Validate.php';

class User { public function signup() { $requestBody = file_get_contents('php://input'); $requestBody = json_decode($requestBody, true);

  $resName = Validate::validateName($requestBody['name']);
  $resEmail = Validate::validateEmail($requestBody['email']);
  $resPassword = Validate::validatePassword($requestBody['password']);

  if(!$resName || !$resEmail || !$resPassword) {
    die('Ошибка валидации');
  }

  $mysql = DataBase::connectDB();

  $name = $requestBody['name'];
  $email = $requestBody['email'];
  $password = $requestBody['password'];
  $authKey = bin2hex(random_bytes(16));


  $prepare = $mysql-&gt;prepare(&quot;INSERT INTO `users` (name, email, password, auth_key) VALUES (?, ?, ?, ?)&quot;);
  $prepare-&gt;bind_param('ssss', $name, $email, $password, $authKey);

  $prepare-&gt;execute();
  $prepare-&gt;close();
  $mysql-&gt;close();
  echo 'Ok';
}

public function login() {
  $requestBody = file_get_contents('php://input');
  $requestBody = json_decode($requestBody, true);


  $mysql = DataBase::connectDB();
  $prepare = $mysql-&gt;prepare(&quot;SELECT * FROM `users` WHERE `email` = ? AND `password` = ?&quot;);
  $prepare-&gt;bind_param('ss', $requestBody['email'], $requestBody['password']);

  $prepare-&gt;execute();

  $result = $prepare-&gt;get_result();

  if($result-&gt;num_rows) {
    $user = mysqli_fetch_assoc($result);
    $_SESSION['user']['id_user'] = $user['id_user'];
    $_SESSION['user']['auth_key'] = $user['auth_key'];

    echo 'Ok';
  } else {
    echo 'wrong login or password';
  }

  $prepare-&gt;close();
  $mysql-&gt;close();
}

public function auth() {
  if($_SESSION['user']) {
    echo 'Ok';
  } else {
    echo 'user not authorized';
  }
}

public function logout() {
  if(isset($_SESSION['user'])) {
    unset($_SESSION['user']);
    session_destroy();
    echo 'Ok';
  } else {
    echo 'error';
  }
}

}

?>

Вот гит хаб проекта https://github.com/AndreyDevWork/TaskList

Пытался пошаманить над .htaccess но ничего не помогло

0 Answers0