Comment rediriger une URL courte vers une URL longue en utilisant C# – ASP.NET

la programmation


Je dois effectuer une redirection de page du code d’état 303 dans asp. Lorsque je fournis la tempURL (générée manuellement) dans le navigateur, le lien doit être automatiquement redirigé vers l’URL d’origine. J’aurai une base de données pour chaque tempURL et l’URL d’origine correspondante. .. J’ai besoin de la redirection de page dynamique. Veuillez ne pas fournir de solution pour les redirections statiques à l’aide du fichier web.config.

si j’ai ma configuration Web comme

HTML
<rewriter>
     <rewrite url="http://www.mycompany.in/" to=originalUrlMatchedFromDBForUSerRequest />
</rewriter>

Comment changer “originalUrlMatchedFromDBForUSerRequest” dynamiquement ?

Solution 1

Ajoutez ceci dans web.config :

XML
<customErrors mode="RemoteOnly" defaultRedirect="~/errorsfolder/ErrorPage.aspx" redirectMode="ResponseRewrite">
           <error statusCode="303" redirect="~/errorsfolder/yourerrorpage.aspx"/>
       </customErrors>

Solution 2

Essaye ça

C#
Response.RedirectLocation = url;
 Response.StatusCode = 303;

Pour votre référence http://stackoverflow.com/questions/9497467/how-to-create-303-response-in-asp-net[^]

Solution 3

Alors tu devrais y aller Erreurs personnalisées dans ASP.NET[^]

Essaye ça:

HTML
<customerrors defaultredirect="~/SomeErrorPage.htm" mode="On">
   <error statuscode="303" redirect="~/YourPage.htm" />
</customerrors>

Vérifiez également Affichage d’une page d’erreur personnalisée (C#)[^].

[Edit]

Essayez ceci dans votre page maître :

C#
protected void Page_Load(object sender, EventArgs e)
{
    if (Response.StatusCode == 303)
    {
        switch (Request.Url.AbsoluteUri)
        {
            case "Your 1st LongURL":
                Response.Redirect("Your 1st SortURL");
                break;
            case "Your 2nd LongURL":
                Response.Redirect("Your 2nd SortURL");
                break;
            case "Your 3rd LongURL":
                Response.Redirect("Your 3rd SortURL");
                break;
            default:
                break;
        }
    }
}

[/Edit]

–Amit

Solution 4

Essayez le code ci-dessous

chaîne url = Request.Url.ToString();

Obtenez l’URL réelle de Db.

Ajoutez le code d’état à l’URL de réponse.

Rediriger l’utilisateur vers la page.

Et pourquoi as-tu essayé ainsi ??

コメント

タイトルとURLをコピーしました