Linux 服务器访问路径都是区分大小写的,那么搭建了 Apache 后访问 www.abc.com/Index.html 和 www.abc.com/index.html 访问的路径是不一样的,如下图所示,实际首页是 Index.html:
要解决这个问题,需要使用 Apache 的 mod_speling 模块。
注意:启动了 CheckSpelling 可能会降低 Apache 的执行效率。
编译安装 Apache 时把 mod_speling 模块也编译了,如
- ./configure —prefix=/usr/local/apache2 —enable-so —enable-speling
修改 Apache 的配置文件 httpd.conf,加上:
- LoadModule speling_module modules/mod_speling.soCheckSpelling On
这样就启用了 mod_speling 模块。
假设 Apache 安装目录是 /usr/local/apache2。
- /usr/local/apache2/bin/apxs -c -i -a mod_speling.c
-c 执行编译操作。
-i 安装操作,安装一个或多个动态共享对象到服务器的 modules 目录。
-a 自动增加一个 LoadModule 行到 httpd.conf 文件,以激活此模块,若此行存在则启用之。
-A 与 -a 类似,但是它增加的 LoadModule 行前有井号前缀(#)。
-e 需要执行编辑操作,可与 -a 和 -A 选项配合使用,与 -i 操作类似,修改 httpd.conf 文件,但并不安装此模块。
apxs 命令选项说明
3. 在 /usr/local/apache2/conf/httpd.conf 中添加:
- LoadModule speling_module modules/mod_speling.soCheckSpelling On
4. 重启 Apache:
- /usr/local/apache2/bin/apachectl restart 或 service httpd restart