为啥 Xampp 服务器允许打开不存在的路径

Posted

技术标签:

【中文标题】为啥 Xampp 服务器允许打开不存在的路径【英文标题】:Why Xampp server allow open not existing path为什么 Xampp 服务器允许打开不存在的路径 【发布时间】:2020-08-12 05:05:15 【问题描述】:

我在使用 xampp 等时遇到问题。例如,当我输入 URL 地址时,http://localhost/project/index.php/whatever.php 服务器以崩溃的样式打开 index.php,而不是 Not Found 在此服务器上找不到请求的 URL 或类似的东西,因为 /whatever.php 在项目中不存在。

在控制台显示: 资源解释为样式表,但使用 MIME 类型 text/html 传输:“http://localhost/project/index.php/style/style.css”。

如何防止我的项目打开不存在的路径?

【问题讨论】:

为什么首先引用不存在的路径?为什么不避免呢? httpd.apache.org/docs/2.4/mod/core.html#acceptpathinfo @NicoHaase 因为使用该网站的人可能会错误地输入此地址 见我的回答,应该可以解决你的问题,很久以前我遇到过同样的问题,我已经解决了,正如你在我的回答中看到的那样...... 【参考方案1】:

所有版本的 Apache 都允许这样做,这很正常...要解决您的问题,请编辑您的 httpd.conf 和您的 VirtualHost 配置添加此行:

AcceptPathInfo Off

喜欢这里:

<VirtualHost localhost:80>
  ServerName localhost:80
  ServerAlias localhost
  ErrorLog "$SRVROOT/logs/localhost-error.log"
  TransferLog "$SRVROOT/logs/localhost-access.log"
  DocumentRoot "D:/Web/www"
    <Directory "D:/Web/www">
      Require all granted
      Options Indexes FollowSymLinks Includes ExecCGI
      AcceptPathInfo Off
      AllowOverride All
      <IfModule mod_deflate.c>
        SetOutputFilter DEFLATE
      </IfModule>
    </Directory>
</VirtualHost>

如果还不够,请将此行添加到您的 .htaccess

################################################################################
######################### Remove /index.php/ from URLs #########################
################################################################################
RedirectMatch 301 ^/index\.php(/.*) $1

希望这会有所帮助。

【讨论】:

以上是关于为啥 Xampp 服务器允许打开不存在的路径的主要内容,如果未能解决你的问题,请参考以下文章

为啥用phpstorm打开文件是502 bad gateway

“ MySQL 服务检测到错误的路径” 打开 xampp 后

xampp:mysql下启动不起来,删除ibdata1,访问bugfree,提示表不存在。

为啥 psycopg2 不允许我们在同一个连接中打开多个服务器端游标?

XAMPP apache服务器没有使用我想要的端口,不知道为啥

Ubuntu中安装xampp,以及远程访问phpmyadmin遇到的问题