此文重點在於解決url重寫時,form的action部分出現的問題,如果你講http://aa.com/news.aspx?id=22重寫為http://aa.com/news_22.html,成功重寫後,檢視頁面原始檔,你會發現form部分的action屬性還是/news.aspx?id=22,這樣不僅洩漏了真實位址,而且會發生種種問題,比如頁面提交等等,現在就有了乙個辦法可以完美解決這個問題。(以下內容部分原創,部分**借鑑網路)
1.首先修改web.config,以使程式找到處理page類的模組
. . . . . .
. . . . . .
2.建立處理模組
using system;
using system.data;
using system.io;
using system.configuration;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.web.ui.htmlcontrols;
namespace news
#region 讀取內容
protected override void render(htmltextwriter writer)
else
base.render(writer);
}#endregion
}#region 修改form標記內容
#region 讀取
internal class formfixerhtml32textwriter : system.web.ui.html32textwriter
public override void writeattribute(string name, string value, bool encode)
base.writeattribute(name, value, encode);}}
#endregion
#region 修改action屬性
internal class formfixerhtmltextwriter : system.web.ui.htmltextwriter
public override void writeattribute(string name, string value, bool encode)
base.writeattribute(name, value, encode);}}
#endregion
#endregion
}
慎用url重寫
為了使 url位址更加友好 當然可能有別的原因 很多站點使用了 url重寫,如http www.cnblogs.com life,在asp.net中通常要處理這樣的 url重寫,必須在iis中將 對映到aspnet isapi.dll c windows microsoft.net framewor...
url重寫技術
注釋掉 條目,以使用 http 模組執行重寫 注釋掉 條目,以使用 http 處理程式執行重寫。除了指定使用 http 模組還是 http 處理程式執行重寫外,web.config 檔案還包含重寫規則 重寫規則由兩個字串組成 要在被請求的 url 中查詢的模式 要替換此模式的字串 如果找到 在 we...
慎用url重寫
為了使url位址更加友好 當然可能有別的原因 很多站點使用了url重寫,如 http www.cnblogs.com life,在asp.net中通常要處理這樣的url重寫,必須在iis中將 對映到aspnet isapi.dll c windows microsoft.net framework ...