laravel 中的新项目存在路线问题

New project in laravel give problem with routes

我创建了一个新的 laravel 项目并添加了一个带有方法的简单控制器。

然后在我的 api.php 文件中。我添加了这一行来调用控制器。

Route::get("test", "ApiTestController@test");

我的问题是,当我从邮递员那里调用此 api 时,我收到 "Object not found!" 错误。

我在postman里的url是这样的:

http://localhost/my-project/api/test

我的 htaccess 文件:

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

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ / [L,R=301]

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

我是否必须对配置进行任何更改?

您的 URL 中缺少 public。检查此 URL 您将获得 API 数据。

http://localhost/my-project/public/api/test

如果您想从 URL 中删除 public 那么。

  1. 使用 htaccess。

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

现在您应该可以在没有“/public/index.php/”部分的情况下访问该网站了。

  1. 带服务器文件。

    • 将 Laravel 根文件夹中的 server.php 重命名为 index.php
    • .htaccess 文件从 /public 目录复制到您的 Laravel 根文件夹。