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

请大佬们指条明路。

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

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

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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

/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>
3年前 评论
sixty_seven (楼主) 3年前
sixty_seven (楼主) 3年前
讨论数量: 14

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

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

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

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

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

3年前 评论

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

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

3年前 评论
随波逐流

没有配置好伪静态

3年前 评论

/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>
3年前 评论
sixty_seven (楼主) 3年前
sixty_seven (楼主) 3年前

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