ISAPI_Rewrite full 2.7和3.1 url重写无效(不起作用)的N种原因

[ 2010-11-08 22:11:34 | 作者: admin ]
字号: | |
p.s. ISAPI_Rewrite full版 和 IIRF 是windows下最流行的支持多站点的2个URL重写组件,从ISAPI_Rewrite3开始支持.htaccess了,使用也更加方便。


如果给了IIS_WPG权限还是不行,就干脆给个everyone的读写权限,测试完全可以。3个文件(.htaccess .htaccess.bak bad.png)
# For version 3.x
# 注意 bad.png .htaccess .htaccess.bak 的权限,实在不行就给everyone读写权限

Rewritelog "G:\bbspic_nantaihu_com\test.log"

RewriteCond %{HTTP:Host} ^(.+)$

RewriteCond %{HTTP:Referer} ^(?!http://\\1.*).*$

RewriteCond %{HTTP:Referer} ^(?!http://(.*\.baidu\.com|.*\.google\.com|.*\.52news\.com).*).*$

RewriteRule ^.*\.(?:gif|jpg|png|exe|rar|zip|flv)$ /bad.png [NC,N,O]



====================================================================
ISAPI_Rewrite full 网上的2.7版(0053)有注册码,2.9好像有破解版(没测试),站点使用 httpd.ini
IIRF2.1则是免费开源软件 站点使用 IIRF.ini

现在经常用到ISAPI_Rewrite,遇到的问题就是在本地测试的时候,一切没有问题,到服务器上,竟然不起作用。郁闷~
经过我的一些探索,发现了不起作用的原因如下:
1、IIS_WPG对ISAPI_Rewrite.dll没有读取的权限
2、IIS_WPG对httpd.ini没有读取的权限
3、IIS_WPG对站点目录中的httpd.ini没有读取的权限(用于每个站点有独立的httpd.ini)。
4、IIS_WPG对站点目录中没有写入的权限(ISAPI_Rewrite要写入一个httpd.parse.errors文件)。

基本上就是这个问题了,如果是启动进程池的用户不是IIS_WPG组的,请修改成相应的用户有足够的权限。34这两个问题可能经常有朋友会遇到,ISAPI_Rewrite安装好了,只有在ISAPI_Rewrite的安装目录的httpd.ini起作用,对于Web站点根目录的站点无效。其实就是IIS_WPG组对站点目录没有读取的权限,ISAPI_Rewrite是用IIS_WPG组的用户执行的。


参考:
ISAPI_Rewrite无效(不起作用)的N种原因 http://www.51sea.com/cache/water/581.html
ISAPI_Rewrite最佳替身:Ionic's Isapi Rewrite Filter(IIRF)配置详 http://www.51sea.com/cache/water/578.html

ISAPI_Rewrite3安装教程 http://jingyan.baidu.com/article/fdbd42771011bfb89e3f4800.html
[最后修改由 admin, 于 2015-02-28 12:16:10]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1539

这篇日志没有评论。

此日志不可发表评论。