LAMP环境中Apache配置

Apache全局配置

## 取消注释,启用常用模块
LoadModule php_module     modules/mod_php.so        #php支持模块
LoadModule rewrite_module modules/mod_rewrite.so    #URL重写模块

## 添加PHP的MIMETYPE
Addtype application/x-httpd-php .php

## 默认页配置
DirectoryIndex index.php index.html index.htm


Apache虚拟主机配置

## Apache 2.2 ##
<VirtualHost *:80>
   DocumentRoot /srv/www/site1
   ServerName sitename.com
   ServerAlias aliasname1.com aliasname2.com  #可选
   ErrorLog  /var/log/httpd/sitename_error.log  #如未指定,则使用全局配置ErrorLog 
   CustomLog /var/log/httpd/sitename_access.log common  #可选
   
   <Directory /srv/www/site1>
    Options MultiViews FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow From All
   </Directory>
</VirtualHost>



## Apache 2.4 ##
<VirtualHost *:80>
   DocumentRoot /srv/www/site1
   ServerName sitename.com
   ServerAlias aliasname1.com aliasname2.com  #可选
   ErrorLog  /var/log/httpd/sitename_error.log  #如未指定,则使用全局配置ErrorLog 
   CustomLog /var/log/httpd/sitename_access.log common  #可选
   <Directory /srv/www/site1>
     Options FollowSymLinks
     AllowOverride all 
     Require all granted
   </Directory>
</VirtualHost>

示例配置中使用了 common 的日志格式,可选的格式总共有4种:

格式分类     格式昵称     说明

普通日志格式(common log format,CLF)  common     记录常规的请求信息

参考日志格式(referer log format)     referer     在常规信息基础上增加来源页信息

代理日志格式(agent log format)        agent       在常规信息基础上增加代理信息

综合日志格式(combined log format)    combined    结合以上三种日志信息



Apache URL重写

RewriteRule Pattern Substitution [flags]

Substitution:
若以http://thishost[:thisport]/开头,则强制执行为外部重定向,否则为内部重定向(例如伪静态技术)
若外部重定向没有R=指定code,则默认产生302响应(临时性移动)

flag:
NC忽略大小写
L立即停止重写操作,并不再应用其他重写规则
R若要使用300-400范围内的响应代码,只需在此指定R=即可
(或使用下列符号名称之一:temp(默认), permanent, seeother)


配置请求跳转

RewriteRule Pattern Substitution [R=permanent,L]    # 301跳转, R=permanent进行永久重定向
RewriteRule Pattern Substitution [R,L]              # 302跳转, 要求Substitution以http://开头

配置图片防盗链

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} ! http://www.你的域名.com [NC]
RewriteCond %{HTTP_REFERER} ! http://www.baidu.com [NC]
RewriteCond %{HTTP_REFERER} ! http://www.google.com [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ http://www.你的域名.com/unfind.jpg [R,NC,L]



Apache配置允许跨域

一个请求必须包括协议,域名,端口在内都相同,才算在同域,否则为跨域。

跨域操作时,浏览器仍然会发出请求,但是需得到服务器的认可,才能获得成功的响应。

具体的即response中,包含了 Access-Control-Allow-Origin 这个header,且其值包含当前域名。

## 启用header模块 ##
LoadModule headers_module modules/mod_headers.so

## 虚拟主机配置 ##
Header set Access-Control-Allow-Origin http://other_domain.com

你可能感兴趣的:(跨域,2.2,日志,虚拟主机,跳转,apache配置,2.4)