.htaccess 403访问此资源被拒绝在服务器上- Laravel 5.7

new9mtju  于 2022-12-23  发布在  其他
关注(0)|答案(3)|浏览(126)

我正在Laravel 5.7中处理一个项目,在localhost中一切正常,但是上传到服务器后,Backend Part的所有路由都正常,但是Frontend Part的post路由不正常,显示错误-
403 Forbidden访问服务器上的资源被拒绝
根文件夹中的.htaccess是-

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

    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]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

以前有人遇到过这个问题吗?我错过了什么。在localhost中一切都很好,但在Server中就不行了。

esyap4oy

esyap4oy1#

我认为您没有生成Artisan密钥。请在服务器上运行这些命令。

composer update
php artisan key:generate

你的htaccess应该是这样

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

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$public /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
gzjq41n4

gzjq41n42#

为了在/public中处理前端内容,请将以下内容添加到您的.htaccess

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
wi3ka0sx

wi3ka0sx3#

.htaccess对我来说看起来不错。请确保您的post路由是用form调用的。
如果后端没有问题,则

您需要向这些目录的服务器授予权限

如下所示,给予bootstrap/和storage/目录权限

sudo chmod -R 777 storage/ bootstrap/

那应该可以了

相关问题