CentOs 从直接链接下载返回 404 Not Found

CentOs 从直接链接下载返回 404 Not Found

当我尝试从浏览器测试下载链接后,将一些文件上传到public_html嵌套目录中,返回404 Not Found

pwd输出命令:

/home/pishguy/public_html/audio/quran/01.FATİHA - AYET AYET/DÜŞÜK KALİTE
[root@server DÜŞÜK KALİTE]#

ls命令结果:

[root@server DÜŞÜK KALİTE]# ls -a -l
total 68
drwxr-xr-x. 2 pishguy pishguy    29 Mar 31 10:11 .
drwxr-xr-x. 3 pishguy pishguy  4096 Mar 31 10:11 ..
-rw-r--r--. 1 pishguy pishguy 64814 Nov 24 12:21 FATİHA 001.mp3

正如你所见,我FATİHA 001.mp3在这条路径上有一个:/home/pishguy/public_html/audio/quran/01.FATİHA - AYET AYET/DÜŞÜK KALİTE

完整路径:

/home/pishguy/public_html/audio/quran/01.FATİHA - AYET AYET/DÜŞÜK KALİTE/FATİHA 001.mp3

那么这个直接链接应该可以正常工作:

www.pishguy.ir/audio/quran/01.FATİHA - AYET AYET/DÜŞÜK KALİTE/FATİHA 001.mp3

或者这个编码的 URL 链接:

http://www.pishguy.ir/audio/quran/01.FAT%C4%B0HA%20-%20AYET%20AYET/D%C3%9C%C5%9E%C3%9CK%20KAL%C4%B0TE/FAT%C4%B0HA%20001.mp3

但服务器返回此页面:

Not Found

The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

提示:

我应该有这个路径和这个目录,我无法更改它们,例如文件名、文件路径或文件目录名

答案1

该特定 URL 返回 404:

http://www.pishguy.ir/audio/quran/01.FAT%C4%B0HA%20-%20AYET%20AYET/D%C3%9C%C5%9E%C3%9CK%20KAL%C4%B0TE/FAT%C4%B0HA%20001.mp3

但是,父目录是可搜索的:

http://www.pishguy.ir/audio/quran/01.FAT%c4%b0HA%20-%20AYET%20AYET/D%c3%9c%c5%9e%c3%9cK%20KAL%c4%b0TE/

从该 URL 判断,目录中没有任何内容。通常这是一个权限问题,但乍一看权限看起来没有问题(0755对于...目录,0644对于文件本身)。另一个可能的解释是 SELinux 拒绝 apache/httpd 访问该文件。SELinux 日志可以确定这一点,更新文件的上下文应该可以解决这个问题:

# chcon -t httpd_sys_content_t /home/pishguy/public_html/audio/quran/01.FATİHA - AYET AYET/DÜŞÜK KALİTE/FATİHA 001.mp3

-Z传递给的选项ls还应向您显示相关文件的相关 SELinux 属性,a la ls -lahZ .

其他目录中还存在可见/可下载的文件,例如:

http://www.pishguy.ir/audio/quran/05.MA%c4%b0DE/MAI%cc%87DE%20000.mp3

我会将其中一个工作位置的权限和 SELinux 位与当前不起作用的位置进行比较,然后从那里进一步排除故障。

相关内容