技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

.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
  • 站长推荐
/* 左侧显示文章内容目录 */