首页 > 解决方案 > 如何在在线服务器上运行 Laravel API

问题描述

我已经创建Laravel CRUD API并且它在 localhost 中工作正常(没有 .htaccess 文件),但它在实时服务器上失败。当我发送请求时404 not found error,它会根据.htaccess内容返回或下载文件。我应该如何更改.htaccsess文件以使代码正常工作。这是我的.htaccess文件,它返回未找到错误。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

标签: phplaravel

解决方案


有一个“官方”htaccess 应该为您提供基本代码以使其正常工作。

https://github.com/laravel/laravel/blob/master/public/.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]

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

然后,只需确保根指向,yourproject/public以便它只能从yourproject/public/index.php.


推荐阅读