#禁止所有
deny from all
#该目录下的缺省文件名 可以列出多个,顺序表明他们的优先级别
DirectoryIndex filename.html index.cgi index.pl default.htm
#重定向
Redirect /olddirectory http://www.w3sky.com/newdirectory
#防盗链
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
#这里的NC是标示符,标示忽略大小写
RewriteRule .(gif &line;jpg)$http://www.w3sky.com/替代图片文件名 [R,L] #R标示强制重定向,L标示最后一条规则,也就是说如果执行了这条规则就不再执行其后面的规则,类似于程序语言中的break;
#去除www
RewriteCond %{HTTP_HOST} ^www.yourdomain.tld$[NC]
RewriteRule ^(.*)$ http://yourdomain.tld/$1 [R=301,L] #R强制重定向,并且HTTP的相应码为302
deny from all
#该目录下的缺省文件名 可以列出多个,顺序表明他们的优先级别
DirectoryIndex filename.html index.cgi index.pl default.htm
#重定向
Redirect /olddirectory http://www.w3sky.com/newdirectory
#防盗链
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?w3sky.com/.*$ [NC]
RewriteRule .(gif &line;jpg)$http://www.w3sky.com/替代图片文件名 [R,L]
#去除www
RewriteCond %{HTTP_HOST} ^www.yourdomain.tld$[NC]
RewriteRule ^(.*)$ http://yourdomain.tld/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]
这里需要说明一下RewriteCond的意义,这个语句类似于我们写程序时的if语句,而紧跟其后的RewriteRule语句相当于if语句里面的执行体,也就是当RewriteCond后面的条件成立时才执行其后面的RewriteRule规则,一个RewriteRule规则前面可以有多个RewriteCond,默认他们之间与(AND)的关系,也就是只有所有的RewriteCond都成立时,如果要使用或(OR)的关系,需要显示说明