learnku.com社区,访问带index.php的链接,可以跳转到不带index.php的页面,怎么做到的?

最新的问题表述:当带着 index.php 访问链接时,可以自动跳转到不带 index.php 的链接,如何做呢?


可能我下面的描述不清楚,让两个回答问题的产生误解,我的问题是:当我们访问带有index.php的链接时,浏览器上面怎么自动跳转到那个不带有index.php的链接的?
大家可以试一下自己的链接,http://www.xxxxxx.com/index.php,他并不会自动跳转到 www.xxxxxxx.com


比如这个页面:learnku.com/index.php/laravel/t/49...
点击之后,会自动跳转到:https://learnku.com/laravel/t/49724"

我想到的做法是,在nginx的配置文件中,类似这样:
location ~ index.php {
rewrite (.)index.php(.) $1$2 break;
}

但是由于
location / {
try_files $uri $uri/ /index.php?$query_string;
}

他会一直重定向。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12

首先,这个问题从官网文档上就能得到解答

其次,别人好心给你解答后你反问的态度让人感到不适

3年前 评论
friendOfTime (楼主) 3年前

file

3年前 评论
friendOfTime (楼主) 3年前

有知道的大大回复下吗 :joy:

3年前 评论

看看手册里 优雅链接

3年前 评论
friendOfTime (楼主) 3年前
wangchunbo

看了一下这些回答,我表示我也不理解你到底什么意思? 也不理解你的反问,你确定看完问题了吗? 那我现在的理解就是去掉index.php访问?

3年前 评论
friendOfTime (楼主) 3年前
wangchunbo (作者) 3年前
friendOfTime (楼主) 3年前
wangchunbo (作者) 3年前
wangchunbo

file 我现在是没处理.直接给error页面.

3年前 评论
friendOfTime (楼主) 3年前

最简单最粗暴的方法,在 index.php 中做一层判断

3年前 评论

Request URL: learnku.com/index.php/laravel/t/49... Request Method: GET Status Code: 301 Moved Permanently

3年前 评论

file

location ~ index.php {
rewrite (.)index.php(.) $1$2 permanent;
}

3年前 评论

匹配index.php返回301让浏览器重定向新的不包含index.php的url,可以通过nginx rewrite 指令配合 permanent flag实现;

示例

   location /index.php {
        rewrite ^/index.php/(.*) /$1 permanent;
    }
3年前 评论
friendOfTime (楼主) 3年前
zhangrongwang (作者) 3年前
friendOfTime (楼主) 3年前
zhangrongwang (作者) 3年前

首先,这个问题从官网文档上就能得到解答

其次,别人好心给你解答后你反问的态度让人感到不适

3年前 评论
friendOfTime (楼主) 3年前

与人为善,比聪明更重要!

3年前 评论
friendOfTime (楼主) 3年前

解答就好好解答,来一句自己看文档,或者丢个图,秀优越感呢?咋不说自己看框架代码呢。。。

  1. 良好的社区氛围是需要靠大家一起维护的,遇到不友善的言论请直接举报
  2. 别人没有义务为你解答问题
  3. 你无法解决的问题别人能解决,从技术上来说确实比你优越。
  4. 虚心求教是中华民族的传统美德
  5. 多看文档确实能解决大部分问题
  6. 与人为善,比聪明更重要!
3年前 评论
friendOfTime (楼主) 3年前

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