.htaccess(适用IIS6)参数解释及示例详解
作者:admin 时间:2022-9-6 15:2:17 浏览:.htaccess是对于网站目录进行各种权限规则设置的一个文件,它多在Apache站点中使用。在IIS6中同样可以使用.htaccess,只是需要安装一个插件rewrite3.1。
.htaccess可以做的事情很多又很实用,比较常见的是定义默认首页名称,404页面,301重定向等等,还有更多的功能比如伪静态,限制图片外链,限制下载,密码保护,去除页面广告等等,
本文中,详细介绍.htaccess(适用IIS6)参数解释及示例详解。
参数解释:
- $N 规则后向引用
- %N RewriteCond 后向引用
- ${mapname:key|default}
- %{VARNAME} 服务器变量
- ‘!’ 取非
- [C] 与下一个规则联锁
- [CO=name:val:domain:lifetime:path] 设置cookie
- [F] 强制禁止应答
- [G] 强制继续应答
- [H=content-handler] 明确的内容处理 (不适用)
- [L] 上一个规则标记
- [N] 再次应用规则
- [NC] 大小写不敏感
- [NE] 不转义输出
- [NS]非内部子请求
- [P]代理通过
- [QSA] 追加查询字符串
- [R =code] 重定向
- [S=num] 跳到下面第n条规则
- [T=MIME-type] 强制明确应答 MIME 类型
- RewriteCond
- [NC] 大小写不敏感
- [OR] 逻辑并集
示例:
1、普通重写
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
</IfModule>
RewriteRule ^(.*)/topic-(.+)\.html(\?(.*))*$ $1/portal\.php\?mod=topic&topic=$2&$4
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=view&aid=$2&page=$3&$5
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$5]
2、动态地址跳转到静态地址
RewriteRule ^goods-([0-9]+)(.*)\.html$ goods\.php\?id=$1 [QSA,L]
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC]
RewriteRule ^goods.php$ /goods-%1.html? [L,R=301]
RewriteCond %{QUERY_STRING} ^id=1$ [NC]
RewriteRule ^category.php$ http://www.yaolongnonwoven.com/? [L,R=301] 加?不带参数,不加带上参数
3、301重定向
RewriteCond %{HTTP_HOST} ^xxxx1.com$ [NC]
RewriteCond %{HTTP_HOST} ^xxxx2.com$ [NC]
RewriteRule ^(.*)$ http://www.xxxx.com/$1 [R=301,L]
4、取消目录执行权限
RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
5、屏蔽来源域名
RewriteCond %{HTTP_REFERER} www.baidu.com [NC]
RewriteRule ^(.*)$ - [F]
6、屏蔽ip地址
RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR}&%{http:X-Real-IP} (8.8.4.4|8.8.8.) [NC]
RewriteRule (.*) - [F]
7、过滤静态文件
RewriteCond %{REQUEST_URI} ^.*(.css|.js|.gif|.png|.jpg|.jpeg|.xml)
RewriteRule ^(.*)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
8、屏蔽蜘蛛
RewriteCond %{HTTP_USER_AGENT} (baiduspider|googlebot) [NC]
RewriteRule ^(.*)$ - [F]
总结
本文介绍了.htaccess(适用IIS6)参数解释及示例详解,rewriteCond
条件判断,就像我们程序中的if
语句一样,表示如果符合某个或某几个条件则执行RewriteCond
下面紧邻的RewriteRule
语句。
相关文章
标签: htaccess
相关文章
x
- 站长推荐