2011-10-13 85 views
0

請原諒我是否已經在別處解釋過了。在過去的兩個小時裏,我一直在Google上搜索,並且仍然無法正常工作。我迄今發現的例子都不太適合。難住! .htaccess正則表達式RewriteRule的困境

這看起來應該是非常簡單。我試圖重寫以下網址(原始和目標):

/product.cfm?item=17 
/product/17 

/parts.cfm?part=12 
/speakers/12 

...我不能得到任何工作。

我已經試過了諸如:

RewriteCond %{QUERY_STRING} ^part=(.*)$ [NC] 
RewriteRule ^/parts.cfm$ /parts/$1 [NC,R=301] 

RewriteRule ^/parts.cfm?part=(.*)$ /parts/$1 [NC,R=301] 

但我剛開404頁,這表示它不會通過。而且,可悲的是,我無法訪問此服務器上的日誌,因此我看不到實際發生的情況。

我對這一切都錯了嗎?是否有其他方式來處理這些?這可能只是一個字符的錯字,不是嗎?

任何幫助,非常感謝。謝謝!

回答

1

您應該能夠使用

RewriteRule ^product/(\d+)$ product.cfm?item=$1 [L] 

RewriteRule ^speakers/(\d+)$ parts.cfm?part=$1 [L] 

來實現自己的目標。

第一部分是傳入的URL - 第二部分是您實際希望服務器使用的部分。看起來你現在混在一起了。