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

时间:2020-04-28 11:36:20

标签: php apache .htaccess server xampp

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

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

如何防止项目中存在未打开的路径?

1 个答案:

答案 0 :(得分:0)

所有版本的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

希望这会有所帮助。