zhangjingyu
Rewrite重写任务基本上都是由RewriteCond和RewriteRule两个命令配合完成。
首先看一段简单代码:
RewriteBase /
RewriteCond %{http_host} ^softwhy.com$
RewriteRule ^(.*)$ http://www.softwhy.com/$1
下面对上述代码做一下分析:
(1).RewriteBase /规定根目录为基准路径,具体参阅.htaccess RewriteBase用法一章节。
(2).RewriteCond规定重写的条件,如果条件成立,那么将会执行RewriteRule所规定的重写规则。
具体代码细节,后面会做介绍,它实现不带www的URL跳转到带有www的URL,比如:
softwhy.com/article-451-1.html
# 跳转到如下链接
www.softwhy.com/article-451-1.html
一.RewriteCond命令:
它用来定义重写规则执行的条件。
语法结构:
RewriteCond String Pattern
定义一个条件,当String所规定的内容与Pattern规则匹配时,才会执行RewriteRule规定重写。
参数解析:
1.String:纯文本的字符串,除了包含普通的字符外,还可以包括下列的可扩展结构:
(1).$N:RewriteRule后向引用。$N引用紧跟在RewriteCond之后的RewriteRule中Pattern的小括号中的规则在当前URL中匹配的内容。N是0