301是永久重定向

302是临时重定向

编辑虚拟主机的配置文件需要用到apache的rewrite模块

所以要用要先检查apache是否安装了rewrite模块

# ./bin/apachectl -M | grep rewrite

rewrite_module (shared)

# vim /usr/local/apache/conf/extra/httpd-vhosts.conf

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.aaa.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.bbb.com$

RewriteRule ^/(.*)$ http://www.fansik.com/$1 [R=301,L]

</IfModule>

Apache日志切割

CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/discuz-access_%Y%m%d_log 86400" combined

Apache不记录以下结尾的内容

SetEnvIf Request_URI ".*\.gif$" image-request

SetEnvIf Request_URI ".*\.jpg$" image-request

SetEnvIf Request_URI ".*\.png$" image-request

SetEnvIf Request_URI ".*\.bmp$" image-request

SetEnvIf Request_URI ".*\.swf$" image-request

SetEnvIf Request_URI ".*\.js$" image-request

SetEnvIf Request_URI ".*\.css$" image-request

CustomLog "|/usr/local/apache/bin/rotatelogs -l /usr/local/apache/logs/discuz-access_%Y%m%d_log 86400" combined env=!image-request

Apache配置静态缓存

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/gif "access
plus 1 days"
  ExpiresByType image/jpeg "access
plus 24 hours"
  ExpiresByType image/png "access
plus 24 hours"
  ExpiresByType text/css "now plus 2
hours"
  ExpiresByType application/x-javascript
"now plus 2 hours"
  ExpiresByType
application/x-shockwave-flash "now plus 2 hours"
  ExpiresDefault "now plus 0
min"
</IfModule>

加载好上面的配置后可用curl来检查一下哦

# curl
-x127.0.0.1:80 'http://120.55.194.217/static/image/common/logo.png' -I

如果出现红字,说明配置成功了,缓存时间是86400秒

HTTP/1.1 200 OK

Date: Tue, 15
Mar 2016 06:10:29 GMT

Server:
Apache/2.4.6 (Unix) PHP/5.6.6

Last-Modified:
Tue, 08 Dec 2015 02:39:16 GMT

ETag:
"1149-52659e1375d00"

Accept-Ranges:
bytes

Content-Length:
4425

Cache-Control:
max-age=86400

Expires: Wed, 16
Mar 2016 06:10:29 GMT

Content-Type:
image/png

如果没效果记得查看一下模块的开关是不是打开了

Apache防盗链

SetEnvIfNoCase
Referer "^http://.*\.discuz\.com" local_ref
SetEnvIfNoCase Referer ".*\.luntan\.com" local_ref
< filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png|js|css)">
    Order Allow,Deny
    Allow from env=local_ref
< /filesmatch>

Apache访问控制(只允许本机访问admin的管理页面admin)

<filesmatch
"(.*)admin(.*)">

Order deny,allow

Deny from all

Allow from 127.0.0.1

<filesmatch>

Apache禁止解析某个目录下的php文件

<Directory
/opt/discuz>

php_admin_flag engine off

<filesmatch "(.*)php">

Order deny,allow

Deny from all

</filesmatch>

</Directory>

Apache禁止指定user_agent

<IfModule
mod_rewrite.c>

RewriteCond %{HTTP_USER_AGENT}
^.*curl.* [NC,OR]

RewriteCond %{HTTP_USER_AGENT}
^.*chrome* [NC]

RewriteRule .* - [F]

</IfModule>

Apache限制某个目录

<IfModule
mod_rewrite.c>

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]

RewriteRule .* - [F]

</IfModule>

Apache常用配置项的更多相关文章

  1. hadoop 常用配置项【转】

    hadoop 常用配置项[转] core-site.xml  name value  Description   fs.default.name hdfs://hadoopmaster:9000 定义 ...

  2. Intellij idea 系列教程之常用配置项

    Intellij idea 系列教程之常用配置项 Intellij idea 系列教程目录(https://www.cnblogs.com/binarylei/p/10347600.html) Lan ...

  3. Flume 常用配置项

    注:以下配置项均为常见配置项,查询详细配置项可以访问 flume 官网 Source 常见配置项 Avro Source 配置项名称 默认值 描述 Channel – type – 组件类型名称,必须 ...

  4. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  5. apache常用工作模式的区别

    apache常用工作模式有两种 worker模式1.线程模式2.占用资源少3.稳定性略差4.并发大 prefork模式1.进程模式2.占用资源多3.稳定4.并发一般  来自为知笔记(Wiz)

  6. webpack常用配置项配置文件介绍

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  7. Eureka注册中心高可用及常用配置项

    一.前言 前面已经简单的介绍了 Eureka 注册中心的使用以及查看.下面将继续进行 Eureka 的说明以及应用. 二.Eureka 的高可用搭建 在实际生产项目中,为了保证服务的可用性,连续性,一 ...

  8. Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递

    [TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...

  9. Mac中Apache常用命令

    Apache常用命令记录,还是记一下吧,总是忘记. Apache常用命令: # sudo apachectl start // 启动Apache服务 # sudo apachectl stop // ...

随机推荐

  1. 将halcon导出的c++程序打包成dll库

     1.从“文件”菜单中,选择“新建”,然后选择“项目…”. 2.从“项目类型”窗格中选择“Visual C++”下的“Win32”. 3.从“模板”窗格中,选择“Win32 控制台应用程序”. 4.为 ...

  2. 如何让Button使用自定义icon

    1.在Buttton所在的html页面定义button要使用的icon的css样式,如 </style> <style> .dijitArrowIcon { backgroun ...

  3. 在Win7 64位操作系统下安装Oracle 10g

    参见网址http://www.cnblogs.com/newstar/archive/2010/12/01/1878026.html 1.下载安装程序,可以到这个网址去下载 http://www.or ...

  4. python中转义用法 r''

    代码中需要转多个字符,,可以使用 r'' 例子: print(r"'''\\sfd/;fe'lsdfl")

  5. mysql入门1

    进入mysql数据库:进入mysql安装时的目录bin文件夹内

  6. web.config 配置

    一.认识Web.config文件   Web.config 文件是一个xml文本文件,它用来储存 asp.NET Web 应用程序的配置信息(如最常用的设置asp.NET Web 应用程序的身份验证方 ...

  7. Python的平凡之路(19)

    一.Django请求生命周期   对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端                                          ...

  8. knockout.js 简介

    Knockout是一个轻量级的UI类库,通过应用MVVM模式使JavaScript前端UI简单化. Knockout有如下4大重要概念: 声明式绑定 (Declarative Bindings):使用 ...

  9. JRE JDK JVM是什么

    jre: Java Runtime Environment java运行环境 ----------------------------------------- jdk:Java Developmen ...

  10. Android深度探索--HAL与驱动开发----第一章读书笔记

    1. Android的系统架构有四层,它的发展目前来说 是比较成熟的,流行于目前的市场.其架构包括四层(linux内核.C/C++代码库.Android SDK API.应用程序). 2. 驱动是直接 ...