php htaccess 不生效,ThinkPHP5.1中URL重写.htaccess更改后无效的解决方法

在尝试将ThinkPHP5.1项目中的URL重写以隐藏index.php时,博主遇到了访问问题。按照官方文档配置.htaccess文件后,访问URL返回错误"No input file specified."。经过检查,发现问题可能出在官方文档的配置上。正确配置的.htaccess文件内容如下,此配置解决了URL重写问题,使得URL可以正常访问模块和控制器。
摘要由CSDN通过智能技术生成

format,png

昨天是打算更换项目框架的,决定了这个ThinkPHP5,我使用的是5.1版本

开发中一直不喜欢URL中有这个index.php,这个时候就要使用.htaccess来进行URL重写,之前有文章大概介绍了一下简单配置.htaccess就可以实现的几个功能以及.htaccess 文件使用手册,框架都会通过URL重写隐藏应用的入口文件index.php,ThinkPHP框架和Laravel框架的入口文件路径一样,都是在public下面

本地开发使用的是Apache环境,所以按照官方文档来

httpd.conf配置文件中加载了mod_rewrite.so模块

AllowOverride None 将None改为 All

把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下

Options +FollowSymlinks -Multiviews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

对于模块什么的都是之前配好的,当然是不用改了,心想着是ojbk了

原来的访问URL:

http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]

更改以后应该是

http://serverName/模块/控制器/操作/[参数名/参数值...]

现实是我去访问下面的URL不可以访问,提示:No input file specified.

仔细检查一下没有什么问题,应该是官方文档有问题了

TP5.1 的 Apache 配置文件.htaccess,正确配置如下所示:

Options +FollowSymlinks -Multiviews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值