网址中的空格在浏览器中给出文件未找到错误

问题描述 投票:0回答:1

有空间的物理文件夹:/about us/contactus.php

当我们在浏览器中输入时

https://www.example.com/about us/contactus.php
它会自动将 URL 转换为
https://www.example.com/about%20us/contactus.php

早些时候它工作正常,但在迁移到具有相同 apache 和 php 版本的新服务器后, 它给出了找不到文件的错误。

其余文件在没有任何空间的情况下工作正常。

.htaccess 中没有任何更改,因此需要在 apache 或 php 中进行设置

如果有人可以指导,那就会有很大帮助。

php apache http-status-code-404 space file-not-found
1个回答
0
投票

早些时候它工作正常,但在迁移到具有相同 apache 和 php 版本的新服务器后,它给出了文件未找到的错误。

这可能是由于可移植性限制。

根据经验,如果您希望应用程序和数据可以跨系统移植,则应该仅从可移植文件名字符集构建文件名。请参阅 3.265 可移植文件名字符集 (opengroup.org).

空格字符是一种典型的候选字符,因为它经常被用作字段分隔符,因此会将一条路径变成两条路径。

连字符“-”或下划线“_”通常用于替换路径名中的它们。

这也与统一资源定位器(URL)的路径组件兼容。这是基本配置中的 Web 服务器的 URL 部分,通常映射到相对于文档根的系统文件系统。

查阅您正在使用的 Web 服务器的文档,了解其基本工作原理。您还可以在那里找到一些如何处理文件名可移植性的文档。

© www.soinside.com 2019 - 2024. All rights reserved.