微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache 级别的隐藏规则?

如何解决Apache 级别的隐藏规则?

刚刚为我的新网站项目从一家信誉良好的托管公司获得了一台新的专用服务器。

它运行 Centos 7.9/WHM 和 Apache 2.4+PHP 7.4 包。 PHP-FPM 作为处理程序。

我对网站文件夹中的一些 PHP 文件进行了一些测试,我注意到任何 .PHP 文件都可以在没有扩展名的情况下访问。没有任何 .htaccess 文件

“https://www.example.com/myinfo.PHP”是可访问的。

“https://www.example.com/myinfo”在没有任何 .htaccess + 规则的情况下应该无法访问。

这让我很恼火,因为我知道这会给我的网站项目带来一些问题。

这些规则在哪里,因为我没有使用任何 htaccess 文件

感谢您提供给我的任何信息。

解决方法

正如 Magnus Eriksson 所说:您可能在虚拟主机中启用了 multiviews。尝试关闭它们,重新启动 apache 并检查问题是否已解决。也可以直接在您的 vhost 中重写规则。

由于您安装了 cPanel,我猜是 /etc/httpd/httpd.conf/var/cpanel/templates/apache2_4/ea4_main.default。在编辑 ea4_main.default 之前,将其复制到 ea4_main.local: cp -a /var/cpanel/templates/apache2_4/ea4_main.default /var/cpanel/templates/apache2_4/ea4_main.local,并且只编辑 ea4_main.local 文件。编辑时请小心,因为它可能会搞砸很多事情。如果您使用的是 cPanel,我建议您在 cPanel Forums 上提问,因为这一定是与 cPanel 相关的问题。 而且,如果出现任何问题,我概不负责,我已经警告过您了。

编辑:

自从你链接了你的 httpd.conf 文件,我发现了这个:

<Directory "/">
    
      AllowOverride All
    
    Options MultiViews FollowSymLinks IncludesNOEXEC Indexes ExecCGI
</Directory>

改为:

<Directory "/">
    
      AllowOverride All
    
    Options -MultiViews +FollowSymLinks +IncludesNOEXEC +Indexes +ExecCGI
</Directory>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。