关于路由和静态资源文件名冲突的问题,那个重定向该如何写呢?nginx和apache分别该怎么写呢?

目录划分:home表示前台 admin :表示后台

public文件夹下也有文件夹区分前后台资源

关于路由和静态资源文件名冲突的问题,那个重定向该如何写呢?nginx和apache分别该怎么写呢?

那么我此时,访问别的任意路由正常,访问以下路由就会出现下面的情况

Route::get(‘/home’..

apache:
关于路由和静态资源文件名冲突的问题,那个重定向该如何写呢?nginx和apache分别该怎么写呢?

nginx:

关于路由和静态资源文件名冲突的问题,那个重定向该如何写呢?nginx和apache分别该怎么写呢?

默认的.htaccess

关于路由和静态资源文件名冲突的问题,那个重定向该如何写呢?nginx和apache分别该怎么写呢?

不知道是不是这里的原因,如果是怎么改呢?如果不是又是怎么处理的呢?
小伙伴们,是怎么处理的呢?

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

Nginx 的话将原:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

改为:

location / {
   try_files $uri /index.php?$query_string;
}

关于重写规则执行过程,举个例子:

  • 请求http://localhost/admin/users/haha.html?city=bejing
    那么原始 uri 就是/admin/users/haha.html?city=bejing。如果你的项目中public/admin/users目录下有haha.html,那么则会直接读取haha.html的静态内容,注意 blade 模板内容不会执行,会原样输出。如果没有,则会报404

  • 请求http://localhost/admin/users?city=bejing
    那么原始 uri 就是/admin/users?city=bejing。如果项目中有public/admin/users/目录,则这次匹配会根据 Nginx 配置中index参数定义的文件名去public/admin/users目录下按顺序找对应的文件。如果找到了index.html文件,则直接读取静态内容,如果找到了index.php文件,则直接执行文件。没有找到就会报403

  • 如果前面几个配置都没有匹配到,则 Nginx 会执行最后一个匹配,就是第三个。 将请求转发到项目根目录下的index.php文件,会进入框架的路由模块,也就是routes/web.php文件中定义的各种路由。

出现403就是因为第二步匹配到了public/admin目录,但目录下没有index等文件,直接报了403。修改的内容就是将第二步去掉,直接进行第三步匹配。

2年前 评论

url里面的路径对应的路径或文件不存在,会尝试把请求转发到index.php处理。
访问/home/ 应该相当于 /home/index.html,因为index.html是默认文件。但真实的/home/路径下面没有index.html所以被转发给index.php处理了。index.php按模块/控制器/动作没有匹配到对应的/home/index/index

2年前 评论

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