You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL含空格导致浏览器报文件未找到错误的配置求助

含空格路径的Apache站点迁移后文件未找到问题解决

物理文件夹路径包含空格(如/about us/contactus.php),浏览器访问时URL会自动转换为https://www.example.com/about%20us/contactus.php。在同版本Apache和PHP的旧服务器上运行正常,但迁移到新服务器后出现文件未找到错误;无空格的文件可正常访问,且.htaccess未做修改,需调整Apache或PHP配置。


解决方案

  • 调整Apache的AllowEncodedSlashes配置
    默认情况下Apache的AllowEncodedSlashes为Off,会对URL中的编码字符进行解码,可能导致带空格的路径匹配失败。修改httpd.conf或对应虚拟主机配置文件,添加或修改:

    AllowEncodedSlashes NoDecode
    

    保存后重启Apache服务。

  • 确认文件系统权限与路径正确性
    检查新服务器上含空格的文件夹及文件权限,确保Apache运行用户(通常为www-data或apache)拥有读取权限:

    ls -ld "/about us"
    ls -l "/about us/contactus.php"
    

    若权限不足,使用chown或chmod命令调整。

  • 检查PHP的open_basedir限制
    如果PHP配置了open_basedir,需确保包含带空格的目标文件夹路径,示例配置(根据实际路径调整):

    open_basedir = /var/www/html/:/about us/
    

    修改php.ini后重启Apache或PHP-FPM服务。

  • 验证.htaccess生效配置
    确认新服务器虚拟主机的<Directory>段中设置了AllowOverride All,确保.htaccess规则正常生效:

    <Directory "/var/www/html">
        AllowOverride All
        # 其他配置...
    </Directory>
    

    修改后重启Apache。


内容的提问来源于stack exchange,提问作者Karia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:42:02