你好,欢迎访问远方教程PC版!
广告位招租
网站首页 >> PHP教程 >> PHP实例教程 >> 文章内容

Apache Rewrite 规则用法详解(第2页)

[日期:2014-11-22]   来源:远方教程  作者:远方教程   阅读:5953次[字体: ] 访问[旧版]
 捐赠远方教程 

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

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

  代码如下

ServerAdmin webmaster@你的网址.us
DocumentRoot /home/www/www.你的网址.us
ServerName dns.你的网址.us
ServerAlias dns.你的网址.us 你的网址.us *.你的网址.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} ^[^.]+.你的网址.(cn|us)$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).你的网址.(cn|us)(.*)$ /home/www/www.你的网址.us/sylvan$3?un=$1&%{QUERY_STRING} [L]

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

Rewrite规则表达式的说明:

. 匹配任何单字符
[chars]
匹配字符串:chars
[^chars]
不匹配字符串:chars
text1|text2
可选择的字符串:text1或text2
?
匹配0到1个字符
* 匹配0到多个字符
+ 匹配1到多个字符
^ 字符串开始标志
$ 字符串结束标志
n
转义符标志

反向引用 $N 用于 RewriteRule 中匹配的变量调用(0 <= N <= 9)
反向引用 %N 用于 RewriteCond
中最后一个匹配的变量调用(1 <= N <= 9)

RewriteCond标志符
'nocase|NC'(no case)忽略大小
'ornext|OR' (or next condition)逻辑或,可以同时匹配多个RewriteCond条件

RewriteRule适用的标志符
'redirect|R [=code]' (force redirect)强迫重写为基于http开头的外部转向(注意URL的变化)
如:[R=301,L]

第1页 第2页 第3页
图片展示
 
相关评论
站长推荐