安装ISAPI_Rewrite后,服务器上的网站含index.html的就不能访问了

2016-07-07 15:38 来源:www.chinab4c.com 作者:ecshop专家

win2003 IIS6 + PHP4.4

安装ISAPI_Rewrite后,ECshop是可以使用伪静态,但其它服务器上的网站含index.html的就不能访问了,请管理员指正

httpd.ini内容如下:

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
# RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
#ecshop
# 为了确保重写规则不影响服务器上的其他站点
# 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名
# RewriteCond %{HTTP:Host} (?:www\.)?site1\.com
RewriteCond %{HTTP:Host} (?:www\.)?coffee\.cn
RewriteRule ^(.*)/index.html$ $1/index\.php
RewriteRule ^(.*)/category$$1/index\.php
RewriteRule ^(.*)/feed-c([0-9]+).xml$$1/feed\.php\?cat=$2
RewriteRule ^(.*)/feed-b([0-9]+).xml$$1/feed\.php\?brand=$2
RewriteRule ^(.*)/feed.xml$$1/feed\.php
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/category\.php\?id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6&page=$7&sort=$8&order=$9
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-min([0-9]+)-max([0-9]+)-attr([^-]*)\.html$ $1/category\.php\?id=$2&brand=$3&price_min=$4&price_max=$5&filter_attr=$6
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3&page=$4&sort=$5&order=$6
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$ $1/category\.php\?id=$2&brand=$3&page=$4
RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3
RewriteRule ^(.*)/category-([0-9]+)(.*)\.html$$1/category\.php\?id=$2
RewriteRule ^(.*)/goods-([0-9]+)(.*)\.html$ $1/goods\.php\?id=$2
RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/article_cat\.php\?id=$2&page=$3&sort=$4&order=$5
RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2&page=$3
RewriteRule ^(.*)/article_cat-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2
RewriteRule ^(.*)/article-([0-9]+)(.*)\.html$$1/article\.php\?id=$2
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)\.html$1/brand\.php\?id=$2&cat=$3&page=$4&sort=$5&order=$6
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3&page=$4
RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3
RewriteRule ^(.*)/brand-([0-9]+)(.*)\.html$1/brand\.php\?id=$2
RewriteRule ^(.*)/tag-(.*)\.html$1/search\.php\?keywords=$2
RewriteRule ^(.*)/snatch-([0-9]+)\.html$ $1/snatch\.php\?id=$2
RewriteRule ^(.*)/group_buy-([0-9]+)\.html$ $1/group_buy\.php\?act=view&id=$2
RewriteRule ^(.*)/auction-([0-9]+)\.html$$1/auction\.php\?act=view&id=$2
#ecshop

回答:
# 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名
# RewriteCond %{HTTP:Host} (?:www\.)?site1\.com
请问如域名是www.coffee.cn,修改后是不是下面这句:
RewriteCond %{HTTP:Host} (?:www\.)?coffee\.cn

意思就是这个站能用ISAPI_Rewrite的伪静态模式,而其它站不能?

# 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名
# RewriteCond %{HTTP:Host} (?:www\.)?site1\.com

改成
RewriteCond %{HTTP:Host} (?:www\.)?您网店域名\.com

EC规则仅针对EC,而不是针对全站

请问如域名是www.coffee.cn,修改后,是不是下面这句?
RewriteCond %{HTTP:Host} (?:www\.)?coffee\.cn

是的

但这样设置后,其它的虚拟主机用户,只要网站有index.html的。

就不能用http://www.xxxx.com/index.html访问。。

而用http://www.xxxx.com就可以访问?

是什么原因呢??

怎么没有人回答噢?

你们都没有碰上吗??

我也遇上这个问题了,帮你顶上去

我也设置了:RewriteCond %{HTTP:Host} (?:www\.)?ppllw\.com.cn

可是现在只要用index.html就打不开,用目录或者域名就能打开,请看演示:

http://down.xuncm.com/这个链接能够打开
http://down.xuncm.com/index.html这个链接是打不开的,但没安装这个静态插件时是可以的

请官方重视这个问题,服务器是IIS搭建的,这个应该不是极个别的问题了,看来这个规则真的是有些问题的

求人不如求已啊,找到问题所在了,应该是官方的规则有问题,我修改了规则为:

RewriteCond Host: (?:www)\.ppllw\.com.cn

现在一切正常了。

狂顶楼上这个办法可行多谢啦