我的URL重寫工作,我發現在asp.net網站一個教程, 的方式我這樣做是頁面未正確重定向,URL重寫(Asp.NET)
URL我進入http://localhost:1573/WebNew/web/first-web
現在我已經wriiten一類
public class FixURLs : IHttpModule
{
public FixURLs()
{
//
// TODO: Add constructor logic here
//
}
#region IHttpModule Members
public void Dispose()
{
// do nothing
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
#endregion
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
/*// checking page extension
switch (System.IO.Path.GetExtension(app.Request.Url.AbsoluteUri.ToLower()))
{
case ".bmp":
case ".gif":
case ".jpg":
case ".jpe":
case ".jpeg":
case ".png":
case ".css":
case ".js":
case ".txt":
case ".swf":
// don't redirect, these requests may required in many cases
return;
break;
}*/
if (app.Request.RawUrl.ToLower().Contains("/web/"))
{
**if (app.Request.RawUrl.ToLower().Contains(".png")
|| app.Request.RawUrl.ToLower().Contains(".gif")
|| app.Request.RawUrl.ToLower().Contains(".js"))
{
return;
} **
DatabaseLayer dbLayer = new DatabaseLayer();
string urlFromBrowser = app.Request.RawUrl.ToLower();
string[] urlFormat = urlFromBrowser.Split('/');
urlFromBrowser = urlFormat.GetValue(2).ToString() + "/" + urlFormat.GetValue(3).ToString();
int WebId = dbLayer.GetWebURLId(urlFromBrowser.Trim());
app.Context.RewritePath("Default.aspx", "", "WebId="+WebId);
}
}
但問題是,它不是重定向到Default.aspx頁。
我收到以下錯誤:
說明:HTTP 404。您正在尋找(或它的一個依賴)的資源可能已被刪除,更名或暫時不可用。請檢查以下網址並確保它拼寫正確。
請求的URL:/WebNew/web/Default.aspx
我可以看到它正在請求的URL /webNew/web/Default.aspx但我只需要/webnew/default.aspx?WebId=2
請幫助我
編輯
Thnks的答案,但我不能接受你的答案,也沒有評論按鈕工作對我來說,這是我編輯我的職位的原因。我得到JavaScript錯誤:對象預期和對象問題爲空。
@Waqas Raja謝謝你的回答,現在工作正常。但是當我在Default.aspx頁面的(!IspostBack)事件中放置斷點時,我可以看到它正在到達次。加載頁面後,幾張圖片消失了。多重刷新是問題嗎?任何想法爲什麼它一次又一次地去if(!IsPostBack)事件。 感謝您的幫助
EDIT1
@Waqas拉賈我會接受你從不同的充瀏覽器登錄後回答。
EDIT2
@Waqas拉賈我顯示我的主頁畫面像這樣
有其也被以這種方式顯示其他一些圖片,他們都來了正常加載時正常,但當我使用URL重寫時,我只能看到ALT文本。
我已經試過這也
但同樣的結果。 :-(任何建議?
通過檢查原始網址,我可以看到除頁面外,還有很多其他請求,例如jpg,.js就像您提到的那樣 我更新了代碼,是否正確?因爲我無法看到圖像和幾個JavaScript功能。
EDIT3
@Waqas拉賈非常感謝您的幫助。我現在可以看到圖像。我已將HTML圖像移除到asp:Image controla並將ImageURL保留爲〜/ images/facebook_icon.png。
但我仍然無法看到頁面上的JS文件效果,我把src =「〜/ JS/jQuery.js」,但它仍然無法正常工作。我已經把你提到的代碼放在我的班級[你剛纔指導我的地方]。
您需要使用相對路徑來根目錄像'〜/ pathToImagesDirectory/imageName.jpg'做URL重寫 – 2011-03-23 11:07:51
是其右然而,當您需要跳過其他擴展。看看你的編輯帖子 – 2011-03-23 11:36:16