有一個像網址:我如何短URL
www.zzz.com/ExternalDocuments/ExternalDocumentUpload.aspx?hjgbasdjfjsggfsdf
我想提供一些短期的ExternalDocuments/ExternalDocumentUpload.aspx
。我不想縮短整個網址。
有一個像網址:我如何短URL
www.zzz.com/ExternalDocuments/ExternalDocumentUpload.aspx?hjgbasdjfjsggfsdf
我想提供一些短期的ExternalDocuments/ExternalDocumentUpload.aspx
。我不想縮短整個網址。
這聽起來像你想要的是不是「縮短」 - 一個服務例如像bit.ly
用於縮短整個URL以用於Twitter或類似的 - 但「URL重寫」。
這需要由用戶提供的「友好」的路徑 - 到的「/」的權利 - 並把它變成你需要ASP.NET找到頁面的URL。
有一個關於ASP.NET的正是這味幾個不同的方面,這取決於做和IIS你使用。 Scott Gu的綜述這裏:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
和IIS7我用這裏的一個:
您可以設置URL在Global.asax文件重寫,上的Application_BeginRequest事件,它會在每個請求上運行,檢查請求的url,如果需要,將其重定向到所需的url。你可以像這樣的檢查:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (Request.RawUrl== "/someShorturl/page.aspx")
{
HttpContext.Current.RewritePath("/ExternalDocuments/ExternalDocumentUpload.aspx?hjgbasdjfjsggfsdf");
}
}
所以,如果用戶進入「www.zzz.com/someShorturl/page.aspx」,他將獲得「www.zzz.com/ExternalDocuments/ExternalDocumentUpload.aspx ?hjgbasdjfjsggfsdf「頁面,但瀏覽器中的url不會更改。
如果你想改變縮短的URL爲長原始地址,你可以調用Response.Redirect的替代RewritePath方法。
這個例子是一個speciffic網址,但您可以創建更復雜的邏輯,當然。
你試過了什麼?它是如何不如預期的那樣工作的? – sarnold
它並不難短的URL或URL的一部分,並添加一些不同的字符串到原來的URL部分代替長URL作爲你的情況,但你的web服務器應該知道,這個URL需要被重定向到原來的一個。你有沒有想過第一個? 你可以在這裏應用很多算法。最簡單的方法就是從這個小網址或者5個字符中隨機輸入一個字符,並將它變成一個新的1.但是這對於你來說不會是一個長期存在的算法。 – Zenwalker
實際上已經有一個網址適用於所有頁面,但是這個網址是獨立的,用戶無需登錄。我有這樣的代碼,但無法理解我應該在哪裏找到答案。也許masterpage或默認登錄頁面? – user728630