2016-12-14 71 views
0

以下是我的配置:URLRewrite - 重寫後的URL不工作

<rule> 
    <from>^/xf/(.*)$</from> 
    <to>/xfDetail?id=$1</to> 
</rule> 

我訪問的URL爲http://mydomain/xf/63e2d96047754072a340610。但它表示無法找到該頁面。

我配置不正確嗎?

這是我的工作之一:

<rule> 
    <from>/jr</from> 
    <to>/jr/index</to> 
</rule> 

順便說一句,有沒有任何調試這個辦法?

謝謝!

回答

0

事實證明,我有另一個規則來處理這樣的請求:

<rule> 
    <from>/xf</from> 
    <to>/xf/index</to> 
</rule> 

URLRewrite默認的匹配類型是正則表達式,所以我的請求URL匹配/xf,那麼實際的URL是/newHouse/index/xxxxx。顯然沒有這個頁面存在。

因此,爲了得到它的工作,我必須把它改成這樣:

<rule> 
    <from>/xf$</from> 
    <to>/xf/index</to> 
</rule> 

$需要在from結束。

1

您的重寫規則與任何網址都不匹配,因爲它需要在之前的域之後的「/」。

所以,規則應該是:

^xf/(.*)$ 

而且,這裏是交代

Explain

如果你使用Apache的mod_rewrite和,你可以看一下這個問題: How to debug Apache mod_rewrite

+1

謝謝。但似乎它不適用於我的情況ToT – Sky

+0

我找到了我的答案中顯示的根本原因。 '^/xf /(.*)$'來自手冊,這是我第一次使用它,不確定與舊版本相比是否有任何不同。無論如何感謝您的幫助。 – Sky