修改官方ISAPI_Rewrite伪静态规则的BUG
2016-07-07 15:45 来源:www.chinab4c.com 作者:ecshop专家
此方法仅适用于IIS,原官方的ISAPI_Rewrite 配置规则为:- [ISAPI_Rewrite]
- # 为了确保重写规则不影响服务器上的其他站点
- # 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名
- RewriteCond %{HTTP:Host} (?:www\.)?ppllw\.com.cn
- RewriteRule ^(.*)/index.html$ $1/index\.php [I]
- RewriteRule ^(.*)/category$$1/index\.php [I]
- RewriteRule ^(.*)/feed-c([0-9]+).xml$$1/feed\.php\?cat=$2 [I]
- RewriteRule ^(.*)/feed-b([0-9]+).xml$$1/feed\.php\?brand=$2[I]
- RewriteRule ^(.*)/feed.xml$$1/feed\.php[I]
- 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 [I]
- 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[I]
- 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[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3&page=$4[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3 [I]
- RewriteRule ^(.*)/category-([0-9]+)(.*)\.html$ $1/category\.php\?id=$2[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)\.html(.*)$$1/category\.php\?$4&id=$2&brand=$3
- RewriteRule ^(.*)/goods-([0-9]+)(.*)\.html$ $1/goods\.php\?id=$2[I]
- RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/article_cat\.php\?id=$2&page=$3&sort=$4&order=$5[I]
- RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2&page=$3 [I]
- RewriteRule ^(.*)/article_cat-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2[I]
- RewriteRule ^(.*)/article-([0-9]+)(.*)\.html$$1/article\.php\?id=$2 [I]
- 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 [I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3&page=$4[I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)\.html(.*)$$1/brand\.php\?$4&id=$2&cat=$3[I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3[I]
- RewriteRule ^(.*)/brand-([0-9]+)(.*)\.html$1/brand\.php\?id=$2[I]
- RewriteRule ^(.*)/tag-(.*)\.html$1/search\.php\?keywords=$2[I]
- RewriteRule ^(.*)/snatch-([0-9]+)\.html$ $1/snatch\.php\?id=$2[I]
- RewriteRule ^(.*)/group_buy-([0-9]+)\.html$ $1/group_buy\.php\?act=view&id=$2[I]
- RewriteRule ^(.*)/auction-([0-9]+)\.html$$1/auction\.php\?act=view&id=$2 [I]
- RewriteRule ^(.*)/exchange-id([0-9]+)(.*)\.html$$1/exchange\.php\?id=$2&act=view[I]
- RewriteRule ^(.*)/exchange-([0-9]+)-min([0-9]+)-max([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/exchange\.php\?cat_id=$2&integral_min=$3&integral_max=$4&page=$5&sort=$6&order=$7 [I]
- RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/exchange\.php\?cat_id=$2&page=$3&sort=$4&order=$5 [I]
- RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)(.*)\.html$$1/exchange\.php\?cat_id=$2&page=$3[I]
- RewriteRule ^(.*)/exchange-([0-9]+)(.*)\.html$$1/exchange\.php\?cat_id=$2[I]
复制代码 按照这个配置,如果服务器上还有其它域名的网站,那么访问的时候就不能用index.html来访问了,而只能用域名或者目录不包含index.html就行,出问题的情况见贴子:http://bbs.ecshop.com/thread-64800-1-1.html
现在修改了ISAPI_Rewrite规则,测试一切正常,规则如下:- [ISAPI_Rewrite]
- # 为了确保重写规则不影响服务器上的其他站点
- # 请将下面的语句前的#号去掉,并将(?:www\.)?site1\.com改为商店所在域名
- RewriteCond Host: (?:www)\.ppllw\.com.cn
- RewriteRule ^(.*)/index.html$ $1/index\.php [I]
- RewriteRule ^(.*)/category$$1/index\.php [I]
- RewriteRule ^(.*)/feed-c([0-9]+).xml$$1/feed\.php\?cat=$2 [I]
- RewriteRule ^(.*)/feed-b([0-9]+).xml$$1/feed\.php\?brand=$2[I]
- RewriteRule ^(.*)/feed.xml$$1/feed\.php[I]
- 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 [I]
- 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[I]
- 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[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3&page=$4[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)(.*)\.html$$1/category\.php\?id=$2&brand=$3 [I]
- RewriteRule ^(.*)/category-([0-9]+)(.*)\.html$ $1/category\.php\?id=$2[I]
- RewriteRule ^(.*)/category-([0-9]+)-b([0-9]+)\.html(.*)$$1/category\.php\?$4&id=$2&brand=$3
- RewriteRule ^(.*)/goods-([0-9]+)(.*)\.html$ $1/goods\.php\?id=$2[I]
- RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$$1/article_cat\.php\?id=$2&page=$3&sort=$4&order=$5[I]
- RewriteRule ^(.*)/article_cat-([0-9]+)-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2&page=$3 [I]
- RewriteRule ^(.*)/article_cat-([0-9]+)(.*)\.html$ $1/article_cat\.php\?id=$2[I]
- RewriteRule ^(.*)/article-([0-9]+)(.*)\.html$$1/article\.php\?id=$2 [I]
- 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 [I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)-([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3&page=$4[I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)\.html(.*)$$1/brand\.php\?$4&id=$2&cat=$3[I]
- RewriteRule ^(.*)/brand-([0-9]+)-c([0-9]+)(.*)\.html $1/brand\.php\?id=$2&cat=$3[I]
- RewriteRule ^(.*)/brand-([0-9]+)(.*)\.html$1/brand\.php\?id=$2[I]
- RewriteRule ^(.*)/tag-(.*)\.html$1/search\.php\?keywords=$2[I]
- RewriteRule ^(.*)/snatch-([0-9]+)\.html$ $1/snatch\.php\?id=$2[I]
- RewriteRule ^(.*)/group_buy-([0-9]+)\.html$ $1/group_buy\.php\?act=view&id=$2[I]
- RewriteRule ^(.*)/auction-([0-9]+)\.html$$1/auction\.php\?act=view&id=$2 [I]
- RewriteRule ^(.*)/exchange-id([0-9]+)(.*)\.html$$1/exchange\.php\?id=$2&act=view[I]
- RewriteRule ^(.*)/exchange-([0-9]+)-min([0-9]+)-max([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/exchange\.php\?cat_id=$2&integral_min=$3&integral_max=$4&page=$5&sort=$6&order=$7 [I]
- RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+)(.*)\.html$ $1/exchange\.php\?cat_id=$2&page=$3&sort=$4&order=$5 [I]
- RewriteRule ^(.*)/exchange-([0-9]+)-([0-9]+)(.*)\.html$$1/exchange\.php\?cat_id=$2&page=$3[I]
- RewriteRule ^(.*)/exchange-([0-9]+)(.*)\.html$$1/exchange\.php\?cat_id=$2[I]
复制代码 也就是将原官方规则的:RewriteCond %{HTTP:Host} (?:www\.)?ppllw\.com.cn
修改为:RewriteCond Host: (?:www)\.ppllw\.com.cn |
回答:
产品列表页点了下一页后,在选择按价格...排序就会页面无法显示!! |
产品列表页点了下一页后,在选择按价格...排序就会页面无法显示!!
cnopus 发表于 2009-4-12 16:02
但是我的一切正常啊,我按照你说的测试了一下,请看
http://www.ppllw.com.cn/brand-3-c0-2-goods_id-DESC.html?sort=shop_price&order=DESC&category=0&display=grid&brand=3&price_min=&price_max=&filter_attr=&page=2 |