apache

一、反向代理转发 HTTP 请求到 Tomcat、jboss等配置
修改httpd.conf ,去掉下面2行注释

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

 

末尾加上,如下

ProxyPass /news http://www.iteye.com/news
ProxyPassReverse /news http://www.iteye.com/news

重启

 

二、apache 端口:
      Listen 80

 

三、RewriteRule

 

1)伪静态化的作用,一是达到和真静态化一样的seo效果,二是屏蔽网站的技术实现,让url看起来更优美。

RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句。RewriteCond语句之间默认的是AND,如果想要OR,则要明确的写出来[OR]。

 

2)几个常用的正则表达式:
(.*) 用于匹配某一区域内所有内容。如 abc/def/ghi 可用 (.*)/(.*)/(.*) 匹配。
([a-zA-Z_]+) 匹配英文单词,允许用-和_连接。
([0-9]+) 匹配多位数字,通常用于匹配ID。
([0-9]) 只匹配一位的数字。
^ 表示正则的开始
$ 表示正则的结束 

 

3)几个常用参数:
RewriteCond下:
[NC] 不分字母大小写
[OR] 用于连接下一条规则
RewriteRule下:
[R] 强制重定向,[R=code] code默认为302
[F] 禁用URL,返回HTTP 403 错误
[L] 这是最后一条规则,之后内容无用

 

4)案例

city_map.txt的内容: 
hangzhou 12 
beijing 13 
1、hangzhou.google.com/tianqi/20090401 跳转到 www.google.com/service/detail.html?id=tianqi&date=20090401

RewriteMap city-map txt:/etc/httpd/conf.d/map/city_map.txt 
RewriteCond %{HTTP_HOST}    ^(.+)\.google\.com$    
RewriteRule ^/([\w]+)/([\d]+)$ /service/detail\.html\?id=$1&date=$2&c=${city-map:%1|%1} [PT,L]

 
解释:
%{HTTP_HOST}:取请求的域名
^(.+)\.google\.com$:^,开头;$结尾。.(逗号),除终止符外的任意字符。+,重复一个或一个以上的字符。\,转义字符。
^/([\w]+)/([\d]+)$:[],集合字符。\w,数字或字母。\d,数字。
$1:表示的是符合RewriteRule 中[\w]+正则式的字符串,也就是tianqi。
$2:表示的是符合RewriteRule 中[\d]+ 正则式的字符串,也就是20090401。
%1:表示的是符合RewriteCond 中.+正则式的字符串,也就是hangzhou。
${city-map:%1|%1}:表示取city-map中%1也就是hangzhou对应的值,如果没有则为%1也就是hangzhou。

 

Apache模块 mod_rewrite 中文文档:  http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_rewrite.html

 

 5、windows设置apache开机不自动启动
开始--运行--msconfig--启动--去掉apache http searver的勾。msconfig--服务--去掉apache2的勾。
计算机管理--服务--apache2  设置为手工启动。

你可能感兴趣的:(apache)