作为程序员一定要保持良好的睡眠,才能好编程

apache 日志的配置以及详解

发布时间:2017-05-25


这个日志只能在apache的主配置文件下配置:


这样可以看到所有日志文件:

共计分为8个日志级别,调试模式下可以调的高一些, 生产模式关闭或把级别调整的小一些

LogLevel alert rewrite:trace8

默认在apache的主目录下 logs 这个文件夹下:


生产模式不要大于trace2   这样的日志生成的比较大   磁盘Io开销比较大  一旦运行稳定后,可以关闭


RewriteRule 模式匹配

apache是支持perl正则表达式的,可以使用括号进行分割   然后通过 $1 或 $2  来获取值。


RewriteRule  R flag  标签 强制外部重定向  301 302


临时重定向 302


永久重定向  301  可以把seo的评分  给了这个新的url地址


RewriteRule  ^(.*).htm$ /$1.html [R=302]  外部重定向  url地址会发生变化  永久重定向 seo是认这个积分的。


RewriteRule  ^(.*).htm$ /$1.html [R=301]




RewriteRule  C flag  标签  链接下一规则


第一条规则匹配成功,第二条规则才执行

如果第一条规则不成功,第二条规则不执行


这两条规则是一个整体,从上到下依次执行


RewriteRule  ^(.*).htm$ /$1.html [C]

RewriteRule  ^(.*).html$ /$1.php


以上的这个规则就是   访问 a.htm  跳转到 a.html  然后又跳转到了 a.php 这样的一个动作路径。



RewriteRule  L flag  标签 结尾规则的 立即停止重写操作,并不再应用其他重写规则


当这条规则匹配成功,后面的规则就不执行


RewriteRule  ^(.*).htm$ /first.php [L]

RewriteRule  ^(.*).htm$ /second.php


默认任何 *.htm 都会跳转到first.php,如果去掉[L] 这个字符 ,则 全部的*.htm 都会跳转到 second.php




多个flag 使用逗号进行分割




RewriteRule  NE flag  标签  不解析特殊字符

# 是一个特殊字符 %23 


这条规则是  所有的 htm 文件都会转换到 index.html 中 并在后面显示  index.html#***

RewriteRule  ^(.*).htm$ /index.html#$1 [R=302,NE]

 


RewriteRule  NC flag  标签  不区分大小写


windows 本身就没有大小写区分

linux 就是大小写区分


这个NC 能不用不用了吧。


RewriteRule  G  flag  标签   http代码 410  请求的网页已经失效了


下载链接地址  已经失效了