apache 各种配置

//apache 的网站配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf

-->在编辑这个文件前需要去httpd.conf把这个文件的注释去掉

<VirtualHost *:80>
    DocumentRoot "/data/www"
    ServerName www.123.com

    #不记录指定文件的日志 --还要加上env
    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

#日志设置
ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-error_%Y%m%d.log 86400"
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-access_%Y%m%d.log 86400"combined env=!image-request

#301跳转
<IfModule mod_rewrite.c>
     RewriteEngine on
     #进入下列网站
     RewriteCond %{HTTP_HOST} ^www.tiaozhuan.com [OR]
     RewriteCond %{HTTP_HOST} ^www.test.com$
     #都跳转到www.123.com
     RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L]

#禁止user_agent NC为不区分大小写 OR代表二者取一 全部都取就不要OR Rule为规则-F所有访问拒绝
     RewriteCond %(HTTP_USER_AGENT} ^Mozilla/5.* [NC]
     RewriteCond %(HTTP_USER_AGENT} ^.*chrome* [NC]
     RewriteRule .* - [F]

#限制某一个目录不让用户访问,也可利用deny和allow进行限制
     RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]
     RewriteRule .* - [F]
</IfModule>

#静态缓存
#1.mod_expires.c
 <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-javacript "now plus 2 hours"
    ExpiresByType application/javascript "now plus 2 hours"
    ExpiresByType application/x-shockwave-flash "now plus 2 hours"
    ExpiresDefault "now plus 2 hours"
    </IfModule>

#访问控制
<Directory /data/www/>
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1
</Directory>

#针对请求的URI限制
#<filesmatch "(.*)admin(.*)">
#   Order deny,allow
#      Deny from all
#         Allow from 127.0.0.1
#         </filesmatch>

#全部PASS
#<Directory>
#Order deny,allow

#全部NOT PASS
#<Directory>
#Order allow,deny

#针对网站的用户上传的文件进行限制php解析
<Directory /data/www/data>
        php_admin_flag engine off
        <filesmatch "(.*)php">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        </filesmatch>
</Directory>

#防盗链
SetEnvIfNoCase Referer "^htt://.*\baidu\.com" local_ref
    SetEnvIfNoCase Referer "^htt://.*\sohu\.com" local_ref
    SetEnvIfNoCase Referer "^$"" local_ref
 <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
    Order Allow,Deny
    Allow from env=local_ref
</filesmatch>
</VirtualHost>

#2.mod_headers
#<IfModule mod_headers.c>
    #htm,html,txt类的文件缓存 存放一个小时
    #   <filematch "\.(htmlhtm|txt)$">
    #header set cache-control "max-age=3600"
    # </filematch>

写配置文件会遇到的错误 :

1.

/usr/local/apache2/bin/apachectl -t
Syntax error on line 34 of /usr/local/apache2/conf/extra/httpd-vhosts.conf:
AuthUserFile takes 1-2 arguments, text file containing user IDs and passwords

1.因为 多出了 AllowOverride AuthConfig

2. 34行有中文注释,将其删除即可

时间: 2024-08-18 07:31:17

apache 各种配置的相关文章

Apache 性能配置优化

前言 最近在进行apache性能优化设置.在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. httpd 相关查看命令了解 查看当前安装模块mpm(多路处理器) [[email protected] ~]# httpd -l 查看httpd进程数(即各个mpm模式下Apache能够处理的并发请求数) [[email protected] ~]# ps -ef | grep httpd | wc -

Apache的配置详解,最好的Apache配置文档

http://blog.csdn.net/apple_llb/article/details/50253889 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改. 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置.其它指定的目录如果没有指定绝对路径,则目录是相对于该目录. PidFile logs/httpd.pid #第一个htt

apache https配置步骤

apache https配置步骤 1.  确认是否安装ssl模块 是否有mod_ssl.so文件 2.  生成证书和密钥 linux下 步骤1:生成密钥 命令:openssl genrsa 1024 > server.key 说明:这是用128位rsa算法生成密钥,得到server.key文件 步骤2: 生成证书请求文件 命令:openssl req -new -key server.key > server.csr 说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多

Apache之——配置虚拟主机

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48140649 一.修改httpd.conf文件 首先我们在Apache的安装目录的conf下,找到httpd.conf文件,如下图: 打开文件,在文件中找到如下代码: DocumentRoot "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" 这行代码代表的是apache的默认访问路

Apache之——配置虚拟目录

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48142201 一.配置 Apache配置虚拟目录主要是修改httpd.conf文件就可以了. 打开httpd.conf文件,找到如下代码: <IfModule dir_module> DirectoryIndex index.html </IfModule> 如图所示: 在这段代码的下面添加如下代码: #配置虚拟目录 <IfModule dir_module&

Apache+Php配置(亲测可用)

引言: 在软件项目中,Maven提供了一体化的类库管理系统,非常实用.但是,如果新增的类库jar在网络上无法获取到,如何在本地按照Maven的规则添加进来呢?本文将通过一个小例子展示新增过程. 背景介绍: 一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库. 需求: 需要添加一个自定义的类库到当前项目中.假定当前的类库文件名为:abc.jar.. 如何将类库添加进来? 1.  找到当前Maven的Repository类库位置 一般默认情况下,在win

Apache安装配置步骤

注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend stop #chkconfig libvirtd off #chkconfig xend off 一.安装步骤 1.把光驱载入到系统当中: 2.安装 二.配置步骤 1.配置IP地址: 2.进入/etc/httpd/conf目录,使用cp命令备份配置文件(httpd.conf),并用vim打开 3.

【只需3步】手动安装Apache以及配置(亲测可行)

redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/download.cgi 解压包:tar -jxvf apr-1.5.0.tar.bz2 注意:这里的包的格式是tar.bz2格式,如果是.tar格式的用 tar -zxvf +包的名字 命令解压. 进入该包的文件夹内,依次执行以下命令: ./configure --prefix=/work/installed/apr (注意:configure

apache中配置php支持模块模式、cgi模式和fastcgi模式

apache中配置php支持模块模式.cgi模式和fastcgi模式 首先安装apache.MySQL和PHP,依次顺序安装. 1.apache.mysql的安装比较简单,略过 2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了. ./configure –prefix=/usr/local/php5 /--with-mysql=/usr/local/mysql /--enable-fpm--with-apxs2=/usr/local/apache/bi

JSP / JDK和Apache的配置

系统环境:Windows7 x64 Ultimate chs 1.首先安装jdk,可以再oracle官网下载到,此处安装jdk6.0版本. 2.配置jdk环境变量: 我的电脑-->属性-->高级系统设置-->高级-->环境变量--> 新建系统变量:变量名:JAVA_HOME变量值:C:\Program Files (x86)\Java\jdk1.6.0_11 新建用户变量:变量名:CLASS_PATH变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\