2013-01-14 37 views
7

Tôi gặp sự cố với cài đặt iis mặc định. Trong trang web của tôi (http: // mysite) Tôi đã cung cấp tài liệu mặc định làm trang đăng nhập. Khi người dùng gõ url (http: // mysite) nó sẽ chuyển hướng người dùng đến trang đăng nhập nhưng không hiển thị url hoàn chỉnh (http: //mysite/login.aspx). Có vẻ như tài liệu mặc định thực hiện server.transfer thay vì response.redirect. Do đó khi người dùng nhập thông tin đăng nhập của họ và sau đó nhấp vào đăng nhập, nó lại chuyển hướng họ để đăng nhập và từ đó nó hoạt động tốt. Vì vậy, người dùng phải nhập thông tin đăng nhập của họ hai lần.tài liệu mặc định không hiển thị url đầy đủ

Ứng dụng của tôi được phát triển trên .NET 3.5.

Có cách nào để tôi có thể đạt được response.redirect không.

Trả lời

1

Trong thư mục tương tự như tài liệu mặc định tập tin nơi văn bản có tên là Web.config (không .txt, .xml hoặc bất kỳ phần mở rộng khác) với nội dung chính xác như sau:

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Redirect to login" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions> 
         <add input="{URL}" pattern="^/$" /> 
        </conditions> 
        <action type="Redirect" url="/login.aspx" redirectType="Permanent" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 
+0

hi, bạn có nghĩa là tôi nên đặt một web.config khác vào thư mục nơi trang đăng nhập của tôi không ?. trang đăng nhập của tôi nằm trong thư mục khác. nó không trực tiếp trong thư mục gốc. – Punit

+0

người khác? Trong một thư mục, một tên tập tin chỉ có thể được sử dụng một lần. Nếu bạn đã có một web.config hiện có trong thư mục đó, bạn sẽ phải hợp nhất với mã XML này. –

3

Sử dụng index.html như tài liệu mặc định trong thư mục cơ sở của bạn. Trong index.html này, hãy sử dụng chuyển hướng meta refresh hoặc javascript đến trang login.aspx của bạn. Xem mã làm mới meta ví dụ sau.

dự án của bạn

website 
    index.html 
    secure/login.aspx 

index.html

<!DOCTYPE html> 
<html> 
<head> 
<title>YOUR PROJECT NAME</title> 
    <meta http-equiv="refresh" content="0;URL='http://www.YOURDOMAIN:COM/secure/login.aspx'" />  
</head> 

<body> 
    <p> Click to 
     <a href="http://www.YOURDOMAIN:COM/secure/login.aspx">Login</a> 
    </p> 

</body> 

</html> 
0

Viết dòng trong Page_Init của trang đăng nhập của bạn sau.

Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init 
    If Not MyBase.IsPostBack Then 
     If HttpContext.Current.Request.Url.ToString.Contains("Login") = False Then 
      Response.Redirect("~/Login.aspx") 
     End If 
End Sub 
Các vấn đề liên quan