路由除了根目录其他都404的问题

请大佬们指条明路。

PHP版本:PHP 7.4.16 (cli)
laravel版本: const VERSION = ‘8.61.0’;

路由除了根目录其他都404的问题

路由除了根目录其他都404的问题

路由除了根目录其他都404的问题

路由除了根目录其他都404的问题

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

/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>
2年前 评论
sixty_seven (楼主) 2年前
滚球兽进化 2年前
sixty_seven (楼主) 2年前
讨论数量: 14

部署《Laravel 8 中文文档》 添加伪静态了嘛

location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
2年前 评论
yokuy_ 1年前
php_yt (作者) 1年前
秦晓武
  • 查看App\Providers\RouteServiceProvider里的代码
  • 对应到routes\web.php
  • 运行php artisan route:list
2年前 评论

我找到了个奇怪的解决方法, 我是用的是phpstudy apache 版本:2.4.39 就是在cmd创建项目后进入编辑器添加一个路由后不能使用,但是在文件夹中删除整个项目后,再在原来的项目位置重建一个同名项目后,进入编辑器后添加路由后,就可以使用路由 file file

2年前 评论
porygonCN 2年前
sixty_seven (作者) (楼主) 2年前

这个应该是没有配置值伪静态的缘故吧 可以配置一下伪静态试一下

2年前 评论

你看到的 404 页面应该是 apache 服务器默认的 404 页面,如果是 laravel 找不到路由的话,你看到的页面会是 laravel 内置的 404 页面。

所以就是缺少了一步,将所有不存在的请求转发到 index.php 文件。

2年前 评论
随波逐流

没有配置好伪静态

2年前 评论

/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>
2年前 评论
sixty_seven (楼主) 2年前
滚球兽进化 2年前
sixty_seven (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!