发布请求和htaccess

时间:2018-12-01 17:53:46

标签: php angular laravel .htaccess web-hosting

我对主机上的POST请求有问题。在我的托管服务器上,我有域。我们可以假设它是:http://example.com

有两个应用程序:Angular 6作为前端,而laravel 5.6作为后端。在public_html文件夹中,构建了角度应用程序,但在/ api子文件夹中,我放置了laravel rest API应用程序。

有一个.httaccess文件,该文件应将/ api / *请求重定向到laravel应用的public.html。看起来像:

DirectoryIndex index.html index.php

AuthType Basic
AuthName "Wstep wzbroniony"
AuthUserFile /home/Smartap/domains/smartap.usermd.net/public_html/.htpasswd
AuthGroupFile /dev/null
require valid-user

RewriteEngine on

RewriteCond %{REQUEST_URI} ^/api/
RewriteRule (.*) /api/apeczka/public/index.php [L]

RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

当我进入浏览器链接时,它可以正常工作: http://example.com api / test

我从API的其余路由中获取测试数据。但是问题是,例如当角度应用程序向API发送POST请求以登录用户时。它没有用。我得到:

{
    "message": "Server Error"
}
laravel后端的

。我该如何设置探针?在localhost上,一切正常,在那里,我有两个不同的服务器:localhost:4200-用于angular,localhost:8004-用于laravel。

编辑: 在服务器日志中,我发现了类似的内容:

[2018-12-01 20:18:13] production.ERROR: SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) {"exception":"[object] (Doctrine\\DBAL\\Driver\\PDOException(code: 1045): SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) at /usr/home/Smartap/domains/smartap.usermd.net/public_html/api/apeczka/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50, PDOException(code: 1045): SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO) at /usr/home/Smartap/domains/smartap.usermd.net/public_html/api/apeczka/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46)
    [stacktrace]

非常感谢您的帮助。

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

您的mysql设置有问题。

在这里查看并确保已正确配置连接详细信息。

https://laravel.com/docs/5.7/database

还要确保您已使用php artisan config:clear

清除了配置缓存

如果经历相同的错误,请在存储/框架中创建一个名为“ down”的文件,然后再次运行。完成后,运行php artisan up重新启动Laravel。

希望有帮助。