代码之家  ›  专栏  ›  技术社区  ›  Razvan Zamfir

为什么这个Laravel 8 API抛出内部服务器错误?

  •  1
  • Razvan Zamfir  · 技术社区  · 4 年前

    我正在使用我克隆的Laravel 8 API。

    它在实时服务器上工作,但在我的本地WAMP服务器上,它抛出 500 Internal Server Error

    这个 apache_error.log 显示:

    命令“Header”无效,可能拼写错误或由服务器配置中未包含的模块定义

    的内容 .htaccess 文件,放置在 平民的 目录(虚拟主机指向的位置)为:

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        Header always set Access-Control-Allow-Origin "*"
        Header always set Access-Control-Max-Age "1000"
        Header always set Access-Control-Allow-Headers "Accept, Accept-Encoding, Authorization, Content-Type, Origin, X-Requested-With"
        Header always set Access-Control-Allow-Methods "GET, DELETE, PATCH, POST, PUT, OPTIONS"
    
        # 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>
    

    注意:

    其他PHP/Laravel应用程序 做工作 关于当地环境。

    此外,mod_rewrite 已启用。

    问题的原因是什么?

    0 回复  |  直到 4 年前
        1
  •  1
  •   Razvan Zamfir    4 年前

    …或由服务器配置中未包含的模块定义 ”建议您需要先启用一个模块。 Header 是的一部分 mod_headers 在Apache中。

    在WAMP中启用该模块以 头球 工作

    转到 wamp64\bin\apache\apache2.4.46\conf 打开 httpd.conf 发现 LoadModule headers_module modules/mod_headers.so 并取消注释。

    然后重新启动WAMP。