在Windows共享主机上使用Isapi_Rewrite 2进行URL重写部分失败

时间:2012-07-11 14:54:31

标签: asp-classic iis-6 isapi-rewrite helicontech

由于从VPS迁移到共享托管环境,我被迫从IIRF切换到Isapi_Rewrite。我在IIRF下使用的URL重写应该只需要很少的修改,但由于某些未知的原因,只有一个重写有效。

这是我的ISAPI_REWRITE V2的httpd.ini:

[ISAPI_Rewrite]

RewriteEngine On

RewriteRule /buy-sell-assets$ /search/Assets.asp

ReWriteRule .*trucks-tractor\.html$ /search/NewSearch.asp?cat_id=157

RewriteRule .*trucks-rigid\.html$ /search/NewSearch.asp?cat_id=10

ReWriteRule .*trailers\.html$ /search/NewSearch.asp?cat_id=4

ReWriteRule .*helicopters\.html$ /search/NewSearch.asp?cat_id=481

ReWriteRule .*aircraft-fixedwing\.html$ /search/NewSearch.asp?cat_id=467

ReWriteRule .*aircraft-fixed-wing\.html$ /search/NewSearch.asp?cat_id=467

ReWriteRule .*buses\.html$ /search/NewSearch.asp?cat_id=3

ReWriteRule .*boats\.html$ /search/NewSearch.asp?cat_id=559

ReWriteRule .*cars\.html$ /search/NewSearch.asp?cat_id=8

ReWriteRule .*crushers\.html$ /search/NewSearch.asp?cat_id=635

ReWriteRule .*screens\.html$ /search/NewSearch.asp?cat_id=637

ReWriteRule .*cranes\.html$ /search/NewSearch.asp?cat_id=430

ReWriteRule .*equipment\.html$ /search/NewSearch.asp?cat_id=12

真的奇怪的是重写规则

RewriteRule .*trucks-rigid\.html$ /search/NewSearch.asp?cat_id=10

有效,但其他人都没有。他们都指向完全相同的脚本,所以我完全不知道其他人为什么不工作。

Here's the working URL: 
http://www.atn.co.za/buy-sell-assets/trucks-rigid.html

Here's one of the non-working URLs: 
http://www.atn.co.za/buy-sell-assets/trailers.html

为什么一个人工作而不是其他人工作?这是一个令人难以置信的令人沮丧的问题,我现在已经尝试了大约四个小时的各种排列,我将要做一些激烈的事情:(

如果有人能就此提供任何见解或帮助,我真的很感激。

1 个答案:

答案 0 :(得分:1)

尝试使用以下格式:

RewriteRule /buy-sell-assets/trucks-tractor\.html$ /search/NewSearch.asp?cat_id=157 [I,L]

确保每个规则以[NC,L]结尾,否则您的所有页面都会指向一个脚本。