问题背景:近期需要在局域网内搭建一台yum内部源服务器,使用httpd作为web服务器来提供用户下载,在网站的次级目录中需要放一个readme.txt文件,文件中有针对Yum客户端的配置样例说明,当时文件名全部大写(README.TXT 或者README),重启httpd服务后,浏览器访问网站,网站上的txt文档一直不能正常列出来,无法访问.所以做了以下实验.
httpd版本信息:
[root@audit CentOS]# httpd -V
Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
Server built: Sep 17 2015 09:06:30
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
[root@audit CentOS]#
1 http主目录下文件名以及后缀都大写时
2 文件名大写,后缀小写.
3 文件名小写,后缀大写
4 文件名小写,后缀名小写.
以上简单测试说明httpd对文件名大小写敏感.
当文件名全为大写是,如果在浏览器中键入完整的文件路径(URL),访问文件内容也没有任何问题,如下.但是httpd 无法在创建目录的index时直接列出文件名.
---------------------------------------------------------------------------------------------
接着又做了如下实验,在服务器放一个其他名字的Upper Case的文件名。
文件也能正常显示打开.
懵逼*3
-----------------------------------------------------------------------------------------------------------------------------
难道就是不让放README*字样的大写文件?