今天把服务器重新安装系统,做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

开启apahce的mod_speling.so模块,让使用apahce http服务器不再有大小写烦恼的更多相关文章

  1. Node学习(二) --使用http和fs模块实现一个简单的服务器

    1.创建一个www目录,存储静态文件1.html.1.jpg. * html文件内容如下: 12345678910111213 <html lang="en">< ...

  2. GSM模块_STM32实现GPRS与服务器数据传输经验总结

    硬件环境 MCU:STM32F103RET6 (调试器:J-Link) GSM模块:Ai-Thinker_A6 (安信可)(还需要配一个串口打印工具,当初选这个模块纯粹是因为价格是最便宜的) ---- ...

  3. Ubuntu中开启MySQL远程访问功能,并将另一个数据库服务器中的数据迁移到新的服务器中

    一.开启MyS远程访问功能 1.进入服务器输入netstat -an | grep 3306确认3306是否对外开放,MySQL默认状态下是不对外开放访问功能的.输入以上命令之后如果端口没有被开放就会 ...

  4. 在Apache下开启SSI配置支持include shtml html和快速配置服务器

    作为前端开发,使用Apache快速搭建服务器极为方便. 1.找到apach安装目录,找到conf目录下 的httpd.conf 使用SSI(Server Side Include)的html文件扩展名 ...

  5. Python——scapy模块实现tcp探测目标服务器路由轨迹

      scapy模块的安装 484 yum install tcpdump graphviz ImageMagick -y 485 wget http://www.secdev.org/projects ...

  6. python网络编程socketserver模块(实现TCP客户端/服务器)

    摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类 ...

  7. 用HTTP核心模块配置一个静态Web服务器

    静态Web服务器的主要功能由ngx_http_core_module模块(HTTP框架的主要成员)实现与core模块类似,可以根据相关模块(如ngx_http_gzip_filter_module.n ...

  8. 开启MySQL远程访问权限 允许远程连接(阿里云服务器)、linux关闭防火墙

    1.登陆mysql:mysql -u root -p mysql> show databases; +--------------------+ | Database | +---------- ...

  9. python中使用paramiko模块并实现远程连接服务器执行上传下载

    paramiko模块 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系 ...

随机推荐

  1. java 连接飞信API

    通过java连接飞信api给自己的好友(包括自己)发送飞信内容.如果对方的手机号非你的飞信好友则不能发送.​​1. [代码]飞信发送类     package per.artisan.fetion; ...

  2. Silverlight结合Web Service进行文件上传

    search了非常多的文章,总算勉强实现了.有许多不完善的地方. 在HCLoad.Web项目下新建目录Pics复制一张图片到根目录下. 图片名:Bubble.jpg 右击->属性->生成操 ...

  3. SPOJ:Easy Factorials(占位)

    Finding factorials are easy but they become large quickly that is why Lucky hate factorials. Today h ...

  4. vs 发布网站的时候不编译

    vs2010 vs2008

  5. js实现属性只读

    第一种 Object.defineProperty 这种是在vue源码中看见的 let obj = { $data: {} }; Object.defineProperty(obj, '$data', ...

  6. BZOJ2217:Lollipop

    题意 给定一个由1和2组成的序列,多次询问是否存在一个区间满足区间和=x 分析 结论:假如存在一个子串和为x,那么一定存在一个前缀,和为x或x+1 证明:可以认为原串是由和为x的串在开头和结尾添加若干 ...

  7. hdoj3183【思维】

    思路: 处理方案非常霸气啊,无奈想不到. 说是n位去m个,那么默认就是取了n-m个数字,ok,然后m #include <iostream> #include <stdio.h> ...

  8. Codeforces702A - Maximum Increase【尺取】

    题意: 求一个连续的最长子序列长度: 思路: 没看仔细还wa1了-以为LIS- 然后写了尺取吧...= =太不仔细了.不过收获是LIS特么写挫了然后看了学长的blog<-点我- 题目的挫code ...

  9. 蒟蒻ACMer回忆录 · 一段弱校ACM的奋斗史

    三年半的ACM生涯终于迎来了终点,退役之时,感慨万分,故写此文以纪念逝去的时光,那些为ACM拼搏的日子,那段弱校ACM的奋斗史. 三年半的ACM生涯,窝见证了CUMT从打铁到铜牌的突破,又见证了从铜牌 ...

  10. 强连通分量再探 By cellur925

    我真的好喜欢图论啊. (虽然可能理解的并不深hhh) 上一次(暑假)我们初探了强联通分量,这一次我们再探.(特别感谢pku-lyc老师的课件.有很多引用) 上次我们忘记讨论复杂度了.tarjan老爷爷 ...