2012-07-11 66 views
0

由於從VPS遷移到共享主機環境,我不得不從IIRF切換到Isapi_Rewrite。我在IIRF下使用的URL重寫應該在最小的修改下工作,但由於某些未知原因,只有其中一個重寫有效。在Windows共享主機上使用Isapi_Rewrite 2進行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

嘗試使用以下格式:

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

確保每個規則與[NC,L]結束或你有你的網頁在一個腳本指向