2009-10-05 116 views
0

我重寫URL http://www.tworiverstaines.co.ukhttp://www.tworiverstaines.co.uk/TwoRivers/很奇怪的URL重寫問題?

當網站第一次加載的重寫工作正常與所有超鏈接工作正常,包括路徑App_Themes文件夾等

然而,當您單擊顯示的Default.aspx在Default.aspx(或頁面請求)載入所有超鏈接並將路徑從/Default.aspx更改爲/TwoRivers/Default.aspx時,在主頁鏈接(或任何其他)上,因此當您單擊超鏈接時,它將被破壞爲重寫規則將帶您到www.tworiverstaines.co.uk/TwoRivers/TwoRivers/Default.aspx。

爲了防止404錯誤,我添加了一個本地規則來重寫/ TwoRivers/TwoRivers/to/TwoRivers /然而這不是一個好的解決方案,因爲瀏覽器中的URL顯示子文件夾和頁面在/ Default .aspx和/TwoRivers/Default.aspx,可能會對搜索引擎造成重複的內容問題。

有沒有人知道爲什麼會發生這種情況?

該網站可在http://www.tworiverstaines.co.uk

訪問我顯示在每個頁面來顯示路徑的底部的頭信息。

回答

0

這是因爲你的表單標籤中有你的action屬性。你也重寫那個表單標籤嗎?

在頁面http://www.tworiverstaines.co.uk/Default.aspx你action屬性包含

<form name="aspnetForm" method="post" action="TwoRivers/Default.aspx" id="aspnetForm"> 

如果不是,這裏是一個解決方案:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

下井 「處理ASP.NET回傳與URL重寫」

+0

感謝您的幫助亞瑟我已經實施上述,但這並沒有糾正這個問題。 如果您導航到http://www.tworiverstaines.co.uk/ 操作路徑爲action =「/ TwoRivers/default.aspx」 資源的所有鏈接和路徑都是正確的,即它們不包含「/TwoRivers /「只有動作url包含這個。 如果您導航到http://www.tworiverstaines.co.uk/Default.aspx 操作路徑爲action =「/ Default.aspx」 所有路徑都不正確,它們包含「/ TwoRivers /」。 任何想法? 謝謝 丹 – McDotNet 2009-10-05 13:22:06

+0

你是如何實現URL重寫的?參數「rebaseURL」是什麼? – Arthur 2009-10-05 13:38:48

+0

看起來像您的ControlAdapter未註冊。你有沒有檢查過App_Browsers/Form.browser文件? – Arthur 2009-10-05 15:06:31