今天把服务器重新安装系统,做apache调优前,优化下apache对网络地址大小写不区分的支持。记录如下:
编译mod_speling.so模块去除Apache-url大小写字母敏感的配置
1. 进入apache源代码的modules/mappers/目录
2. 运行如下命令自动编译、安装和修改httpd.conf文件,激活mod_speling.so模块:
/www/wdlinux/apache/bin/apxs -c -i -a mod_speling.c
选项说明:
-c 执行编译操作
-i 安装操作,安装一个或多个动态共享对象到服务器的modules目录
-a 自动增加一个LoadModule行到httpd.conf文件,以激活此模块,若此行存在则启用之
-A 与-a类似,但是它增加的LoadModule行前有井号前缀(#)
-e 需要执行编辑操作,可与-a和-A选项配合使用,与-i操作类似,修改httpd.conf文件,但并不安装此模块
1、下载一个与当前使用的apache一样版本的安装包
2、解压安装包,然后进入其目录
cd /www/wdlinux/apache/modules/mappers/ ll
此目录有个mod_speling.c文件
3、生成模块
/www/wdlinux/apache/bin/apxs -c -i -a mod_speling.c
注:/www/wdlinux/apache/为我生产环境的apache目录,完成上述后会在/www/wdlinux/apache/modules/目录下多一个mod_speling.so模块文件
在/usr/local/apache/conf/httpd.conf中加上
LoadModule speling_module modules/mod_speling.so
CheckSpelling On
CheckSpelling On (加上这个)
开启CheckSpelling On 后 apache 有时会 "300 Multiple Choices"
模块mod_negotiation:
内容协商,更准确的来说是内容选择,是一个从几个有效的文档中,选择一个最能匹配客户端要求的文档的过程,可以使用"MultiViews"搜索(由Options指令中的MultiViews选项激活。
这个功能看起来真的是很不错,很好的用户体验,但是在有的情况下却有点多此一举,下面就讲一下如何屏蔽这个功能,自己目前知道的有两种方法:
1.增加错误页
一般出现这种情况会报300的错误,可以添加错误页
ErrorDocument 300 /errpage/400.html
这样会自动跳转到errpage/400.html这个页面,就不会显示下载列表了
2.打开httpd.conf,找到CheckSpelling On ,
将 CheckSpelling On 改成 CheckSpelling Off