2013-01-14 11 views
7

Ho riscontrato un problema con il documento predefinito dell'impostazione iis. Nel mio sito (http: // mysite) ho fornito il documento predefinito come pagina di accesso. Quando l'utente digita l'url (http: // mysite), reindirizza l'utente alla pagina di accesso ma non visualizza l'URL completo (http: //mysite/login.aspx). Sembra che il documento predefinito faccia server.transfer piuttosto che response.redirect. Per questo quando l'utente inserisce le proprie credenziali e poi fa clic su Accedi, le reindirizza nuovamente per accedere e da lì funziona correttamente. Quindi l'utente deve inserire le proprie credenziali due volte.documento predefinito che non visualizza l'URL completo

La mia app è sviluppata su .NET 3.5.

Esiste un modo per ottenere una risposta.direttiva.

risposta

1

Nella stessa cartella del file posto testo del documento predefinito denominato web.config (senza .txt, .xml o qualsiasi altra estensione) con i seguenti esatto contenuto:

<?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

ciao, vuoi dire che dovrei inserire un altro web.config nella cartella in cui si trova la mia pagina di accesso ?. la mia pagina di accesso si trova in una cartella diversa. non è direttamente nella cartella principale. – Punit

+0

un altro? In una cartella è possibile utilizzare un nome file una sola volta. Se hai un web.config esistente in quella cartella, dovrai unire questo codice XML. –

3

Utilizzare un index.html come predefinita per i documenti nella tua directory di base. In questo index.html utilizza la funzione di aggiornamento dei metadati o reindirizzamento javascript alla tua pagina login.aspx. Vedi il seguente codice di aggiornamento meta.

progetto

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

Scrivi seguenti righe nel Page_Init della tua pagina di Login.

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 
Problemi correlati