ASP.NET Rediriger la demande d'une URL spécifique à une partie particulière de mon site web

StackOverflow https://stackoverflow.com//questions/24011307

Question

Notre administrateur de serveur a configuré une "liaison de site" dans IIS pour un site Web sur le serveur, de sorte que lorsqu'un utilisateur final utilise une URL spécifique, elle redirige vers notre site.

Je dois être capable de déterminer lorsque l'une de ces redirections a eu lieu, puis atterrissez l'utilisateur final sur une page spécifique sur le site Web.

Quelqu'un peut-il aider?

Était-ce utile?

La solution

Votre question dit que les utilisateurs sont redirigés vers votre site, mais ce n'est pas vraiment la façon dont les liaisons de site IIS fonctionnent.Ils ressemblent davantage à des alias pour un seul site.Si tel est le cas, et que le site dispose de plusieurs liaisons et que vous souhaitez rediriger sur la base de laquelle la liaison a été utilisée, vous utiliserez une règle de réécriture dans Web.config System.webserver Section, comme:

    <rewrite>
        <rules>
            <clear />
            <rule name="redirect" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{SERVER_NAME}" pattern="www.binding1.com" />
                </conditions>
                <action type="Redirect" url="http://www.binding2.com/pages/binding1home" />
            </rule>
        </rules>
    </rewrite>

Autres conseils

Vous pouvez trouver le nom de la liaison dans demande.Servervariables sous: "http_host" ou "nom_serveur".Si vous avez accès aux variables de serveur?Si oui, vous pouvez rediriger vers une page spécifique si le nom de liaison spécifié est trouvé.(Voir: MSDN )

Selon la configuration de la redirection, vous pouvez essayer d'utiliser la propriété Urlreferrer de la demande actuelle:

Request.UrlReferrer

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top