今天是: 收藏本站 设为主页
网站首页 >  技术专栏  >  apache  > 

Apache Rewrite实现URL的跳转和域名跳转

日期:2011-10-11  点击率:4513



4.Apache rewrite例子集合

URL重定向

例子一:
同时达到下面两个要求:
1.用http://www.domain.cn/xxx.php 来访问http://www.domain.cn/xxx/
2.用http://xiaoye.domain.cn 来访问 http://www.domain.cn/user.php?username=xiaoye的功能

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.cn
RewriteCond %{REQUEST_URI} !^user.php$
RewriteCond %{REQUEST_URI} .php$
RewriteRule (.*).php$ http://www.domain.cn/$1/ [R]
RewriteCond %{HTTP_HOST} !^www.domain.cn
RewriteRule ^(.+) %{HTTP_HOST} [C]
RewriteRule ^([^.]+).domain.cn http://www.domain.cn/user.php?username=$1

例子二:

/type.php?typeid=* –> /type*.html
/type.php?typeid=*&page=* –> /type*page*.html

RewriteRule ^/type([0-9]+).html$ /type.php?typeid=$1 [PT]
RewriteRule ^/type([0-9]+)page([0-9]+).html$ /type.php?typeid=$1&page=$2 [PT]

5.使用Apache的URL Rewrite配置多用户虚拟服务器

要实现这个功能,首先要在DNS服务器上打开域名的泛域名解析(自己做或者找域名服务商做)。比如,我就把 *.kiya.us和 *.kiya.cn全部解析到了我的IP地址70.40.213.183上。

然后,看一下我的Apache中关于*.kiya.us的虚拟主机的设定。

ServerAdmin webmaster@kiya.us
DocumentRoot /home/www/www.kiya.us
ServerName dns.kiya.us
ServerAlias dns.kiya.us kiya.us *.kiya.us
CustomLog /var/log/httpd/osa/access_log.log” common
ErrorLog /var/log/httpd/osa/error_log.log”
AllowOverride None
Order deny,allow

#AddDefaultCharset GB2312

RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+.kiya.(cn|us)$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).kiya.(cn|us)(.*)$ /home/www/www.kiya.us/sylvan$3?un=$1&%{QUERY_STRING} [L]

在这段设定中,我把*.kiya.cn和*.kiya.us 的Document Root都设定到了 /home/www/www.kiya.us

继续看下去,在这里我就配置了URL Rewrite规则。




下一篇:详细分析Linux系统下du命令的使用   上一篇:PHP用CURL伪造IP和来源