首页 > 解决方案 > Apache 刷新页面后返回 403 禁止

问题描述

我和一所大学一起开发了一个项目。我用 Laravel 做后端(REST API),我的大学用 Vue.js 做前端,但是在集成这两个部分时我们遇到了问题,因为每次我们在浏览器上刷新页面时 Apache 返回 403 禁止。

我们所做的是一个npm run buildVue.js 项目,然后将生成的文件(index.html、js、css、img...)移动到 Laravel 的公共目录。

我们不确定问题是由于 apache 的配置还是 laravel/vue 的问题。

这是我们 apache 的 httpd.conf 文件:

<VirtualHost *:80>
    ServerAdmin user@email.com
    DocumentRoot C:\xampp\htdocs\public
    ServerName  xxxxxx.com
    ServerAlias  xxxxxx.com
    ErrorLog "C:/xampp/error.log"
    CustomLog "C:/xampp/access.log" combined
    <Directory "C:\xampp\htdocs\public">
        Options -Indexes
        DirectoryIndex index.php index.html
        AllowOverride All
        Header set Access-Control-Allow-Origin "*"
        Require all granted
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    </Directory>
</VirtualHost>

这是来自 laravel 公用文件夹中 .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]

    # Base URL redirects to index
    DirectoryIndex index.html

</IfModule>

提前致谢。

标签: laravelapachevue.jsxampp

解决方案


推荐阅读