Internal Server Error错误和.htaccess伪静态的关系

最近更新PHP版本从7.3.26到7.3.27遇到的坑记录一下。

通过以往的正常方法开启了伪静态规则,访问网页时却报出下面让人头疼的错误提示:

1 2 3 4 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log.

我确认伪静态已经启用了,因为将程序目录中只要.htaccess文件删除,网站就可以正常访问默认首页的。说明至少PHP可以正常运行,但是发现访问经过静态规则设置的其他目录却无法访问。最后经过测试,发现了问题所在,就是自己的.htaccess的写法已经与新版本的PHP不兼容了。之前在我的.htaccess文件都会写上以下代码:

1 2 3 4 5 < Files  ~ "^.(htaccess|htpasswd)$"> deny from all </ Files > order deny,allow RewriteEngine on

这就是造成显示错误的原因,因为在httpd.conf文件中有一段代码:

1 2 3 < Files  ".ht*">      Require all denied </ Files >

这个其实已经实现了拒绝他人访问.ht开头的文件,已经有保护作用了。所以修改自己的.htaccess文件,只保留了如下代码:

1 RewriteEngine on

再刷新网站,已经可以正常访问了。同时还应该注意一下,有如下正则的代码也要一并去掉,否则和上面的错误一样。所以遇到上面的错误,先把.htaccess拿掉再看,逐步缩小错误范围。

1 2 3 4 5 6 < Files  ~ ".(sql|rar)$">      order deny,allow      deny from all      allow from 10.64.10.17      allow from 10.64.10.251 </ Files >

温馨提示:
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明

给TA赞赏
共{{data.count}}人
人已赞赏
未整理

【投资技巧】定投十年赚十倍

2021-5-13 0:00:00

未整理

易优cms蓝色平面设计广告印刷网站模板源码 带手机版

2021-5-15 0:00:00

0 条回复 A文章作者 M管理员
----《》
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索