2011-08-03 8 views
2

職場のIISサーバー上でローカルに実行される2つの別個のWebサイトがあります。 1つは通常のポート80にあり、もう1つは90になっています。今、私はユーザーに正しいWebサイトにリダイレクトされる画像の1つを選択させるDefaultページを持っています。Response.Redirect同じ名前で別のポートを使用している別のWebサイトにリダイレクトしますか?

それはあなたが通常のウェブサイトを実行しているポートを指定する必要はありませんが、どのように私はポート90

にリダイレクトするために、第2の画像をリダイレクトすることができますので、これは、ポート80で正常に動作します私が持っているが、それは愚かなスラッシュを追加し続けコード...

Response.Redirect(Request.ApplicationPath + ":90/login.aspx"); 

それはhttp://192.168.2.122/:90/login.aspxを示す終わります。

ご協力いただければ幸いです。ありがとう!

答えて

3

Request.Urlを使用すると、現在のURLのセグメントを取得できます。

Response.Redirect(
    "http://" + Request.Url.Host + ":90" + 
    Request.ApplicationPath + "/login.aspx"); 

編集:別のアプリケーションパスを補うために調整します(私がコメント内でそれを出したので)。

4
Response.Redirect(Request.ApplicationPath.TrimEnd("/") + ":90/login.aspx"); 
+1

Request.ApplicationPathは、アプリケーションの実際の場所の絶対URLを返します。偶然にも、これはこの例では機能しますが、アプリケーションがサブディレクトリにある場合、リダイレクトは再び解除されます。上記の例では、Request.ApplicationPath.TrimEnd( "/")は空の文字列を返します。したがって、最後のリダイレクト引数は ":90/login.aspx"です。アプリがサブディレクトリにある場合は、 "/ appsubdir:90/login.aspx"が返されます。 –

関連する問題