当前位置: 首页 > news >正文

【thinkphp问题栏】tp5.1重写URL,取消路径上的index.php

在Apache运行thinkphp5.1时,发现系统默认生成的.htaccess不生效。

首先先查看怎么修改伪静态

1、修改Apache的配置文件

在Apache的安装目录下,打开config/httpd.conf。

搜索rewrite.so,将前面的#删掉,表示开启URL重写功能

2、添加.htaccess

在public目录下,也就是index.php的同级目录下添加.htaccess(tp5.1自动生成)

3、添加代码

<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]
</IfModule>

注意!!!

系统自动生成的代码为

<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

这是我们发现

这里用的是斜杠
'/'和'?'区别在于 URL 重写规则中的分隔符。
具体来说,这两种方式会影响到 PHP 脚本中 $_SERVER['PATH_INFO'] 或 $_SERVER['QUERY_STRING'] 的值。

  • 在第一段代码中,重写后的 URL 会将请求的路径部分作为 index.php 的 PATH_INFO 参数传递,如 index.php/path/to/resource。
  • 而在第二段代码中,重写后的 URL 会将请求的路径部分作为 index.php 的 QUERY_STRING 参数传递,如 index.php?path/to/resource。

这里我使用斜杠能正常运行

配置里系统自动生成的也是斜杠,但是却运行不了,反而修改为问号以后能运行,在博客逛了一圈也没搞明白,希望有懂的朋友能在评论区给出高见!

http://www.lryc.cn/news/359958.html

相关文章:

  • 缓冲字符流
  • Django中使用Celery和APScheduler实现定时任务
  • Kivy.uix.textinput
  • 基于IoTDB 平台的学习和研究
  • nessus plugins目录为空的问题
  • FDW(Foreign Data Wrapper)
  • Flutter开发指南
  • SpringCloud学习笔记万字整理(无广版在博客)
  • c++(七)
  • SQL语言
  • 【PPT】修改新建文本框默认字体
  • 智能办公本如何选择
  • Spark基础:Scala变量与数据类型
  • php 实现:给图片加文字水印,图片水印,压缩图片
  • 免费实现网站HTTPS访问
  • vue3使用vue3-print-nb打印
  • R语言ggplot2包绘制网络地图
  • php获取今天凌晨零点的时间
  • CATIA进阶操作——创成式曲面设计入门(1)线架设计,三维点、直线、平面、曲线
  • thinkphp6中怎么查看ThinkPHP版本号
  • 第十二章 创建Web客户端
  • 调试记录-RK平台用指令开启ADB功能
  • 奇安信_NAC终端安全准入系统(相关问题整理)
  • 在iPhone上恢复已删除的Safari历史记录的最佳方法
  • 【设计模式深度剖析】【7】【结构型】【享元模式】| 以高脚杯重复使用、GUI中的按钮为例说明,并对比Java类库设计加深理解
  • OceanBase 内存研究(OceanBase 3.2.4.5)
  • 麒麟系统 安装xrdp 远程桌面方法记录
  • 解析Java中1000个常用类:SafeVarargs类,你学会了吗?
  • 【数据挖掘】3σ原则识别数据中的异常值(附代码)
  • 人眼是如何看到物体的