ASP.NET / IIS7 de Réécriture d'Url des cartes ne fonctionne pas
J'ai suivi les instructions Apprendre IIS page web pour ajouter de la statique des redirections avec une carte de réécriture pour mon asp.net application.
Voici la config:
<rule name="Redirect rule1 for Information" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{Information:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
Et
<rewriteMaps>
<rewriteMap name="Information">
<add key="/Information/CorporateSales.aspx"
value="/KB/Information/CorporateSales" />
<add key="/Information/ComputerRepair.aspx"
value="/KB/Information/ComputerRepair" />
</rewriteMap>
</rewriteMaps>
Ce fut même à l'origine créé par l'assistant dans IIS manager pour l'utilisation de la réécriture des cartes.
Donc l'idée est que /Information/CorporateSales.aspx
--> /KB/Information/CorporateSales
avec une redirection 301 (redirection PERMANENTE).
Cependant, je suis juste de l'original de la page aspx (que nous sommes dépose plus tard) chargement. J'ai même supprimé le fichier cas où il a été défaillante à une ressource existante, et avec qui je viens d'obtenir une plaine 404 sans la redirection.
Quelqu'un a une idée?
Permettez-moi de clarifier quelque chose:
Module de réécriture d' œuvres, c'est installé et en cours d'exécution. Mon standard de regex règles fonctionnent bien. Mais mon carte de réécriture ne pas.
OriginalL'auteur Aren | 2010-11-12
Vous devez vous connecter pour publier un commentaire.
Cet article http://www.iis.net/learn/extensions/url-rewrite-module/using-rewrite-maps-in-url-rewrite-module et le code ci-dessous a fonctionné pour moi.
OriginalL'auteur Jason Spence
J'ai eu un problème similaire et trouve cette question. Il m'a fallu un peu de temps, mais j'ai été en mesure de comprendre quel était le problème.
Mon rewriteMap contenu de l'url "/Default2.aspx" et "/le tableau de bord.aspx".
Quand je voudrais aller à Default2.aspx, j'obtiens une erreur 404 plutôt que d'être redirigé vers le tableau de bord.aspx comme prévu.
La question que j'ai constaté, c'est que sur ma machine, l'application était en cours d'exécution dans un sous-répertoire. La directive rewriteMap chemins ne fonctionne que si j'ai utilisé le chemin d'accès complet (y compris le dossier de l'application), par exemple, "/TestSite/Default2.aspx".
Si je pouvais avoir ajouté des entrées en double dans mon rewriteMap de compte pour l'application des répertoires sur les ordinateurs des développeurs, mais qui semble en désordre. J'ai regardé les autres règles de réécriture dans l'application qui n'ont pas ce problème et j'ai remarqué qu'ils ont été à l'aide de l' {REQUEST_FILENAME} variable, plutôt que {REQUEST_URI}. Donc, je suis passé de la règle à utiliser {REQUEST_FILENAME} et supprimer la première barre de l'url dans mon rewriteMap.
OriginalL'auteur sectrean
Avez-vous de la réécriture d'Url installé en tant que partie de IIS7/7.5? Ce n'est pas installée par défaut. Aussi, assurez-vous que votre pool d'application est défini à l'intégration de pipline mode, pas de classique.
Modifier
De:
http://learn.iis.net/page.aspx/469/using-rewrite-maps-in-url-rewrite-module/
Cette seule chose que je vois que vous êtes en train de faire est l'ajout d'un "stopProcessing' attribut. Avez-vous essayé de l'enlever?
OriginalL'auteur ScottE
Auparavant j'ai eu le même problème que vous avez décrit.
Pourriez-vous mettre à jour votre code de
et j'espère que vous le savez,
cette condition permettra de saisir l'URL complète de l'exception du domaine.
exemple sur cette url:
www.example.com/Information/CorporateSales.aspx
il permettra de vérifier la correspondance condition de
Information/CorporateSales.aspx
sur rewriteMapet pour sûr, il ne sera pas un match avec cette url
www.example.com/old/Information/CorporateSales.aspx
OriginalL'auteur Wigid
Avez-vous réinitialiser l'application de la piscine et du site iis ?
Dans certains cas, il peut prendre jusqu'à 72 heures (iirc) pour se propager à travers le monde.
OriginalL'auteur BentOnCoding