您的位置:首页 > 其它

转载 .htaccess文件详解

2014-10-13 15:00 127 查看
#禁止所有

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

RewriteCond %{REQUEST_FILENAME} !-f # !-f如果不是文件

RewriteCond %{REQUEST_FILENAME} !-d # !-d 如果不是目录

# Rewrite all other URLs to index.php/URL

RewriteRule .* index.php/$0 [PT] #PT移交给下一个处理器(还没弄懂这个是什么意思)

这里需要说明一下RewriteCond的意义,这个语句类似于我们写程序时的if语句,而紧跟其后的RewriteRule语句相当于if语句里面的执行体,也就是当RewriteCond后面的条件成立时才执行其后面的RewriteRule规则,一个RewriteRule规则前面可以有多个RewriteCond,默认他们之间与(AND)的关系,也就是只有所有的RewriteCond都成立时,如果要使用或(OR)的关系,需要显示说明
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: