Comment rediriger un chemin D'URL dans IIS?

dans IIS 6.0, y a-t-il un moyen facile de rediriger les requêtes vers un dossier vers un autre dossier, tout en préservant le reste du chemin.

e.g.

Si j'ai déplacé le contenu:

monsite.org.uk/stuff



des trucs.mysite.org.Royaume-Uni 1-->

puis-je rediriger automatiquement les demandes pour des pages spécifiques comme

mysite.org.uk/stuff/countrybriefing/tanzania/travel.html



stuff.mysite.org.uk/countrybriefing/tanzania/travel.html

je le sais .htaccess peut faire des choses comme ça dans Apache, y a-t-il un équivalent dans IIS?

35
demandé sur Ant 2009-05-20 18:36:55

4 réponses

Pris Microsoft Technet.

Rediriger les Sites Web dans IIS 6.0 (IIS 6.0)



Lorsqu'un navigateur demande une page ou un programme sur votre site web, le serveur web localise la page identifiée par L'URL et la renvoie au navigateur. Lorsque vous déplacez une page sur votre site web, vous ne pouvez pas toujours corriger tous les liens qui renvoient à l'ancienne URL de la page. Pour s'assurer que les navigateurs peuvent trouver la page à la nouvelle URL, vous pouvez demandez au serveur Web de rediriger le navigateur vers la nouvelle URL.

vous pouvez rediriger des requêtes pour des fichiers dans un répertoire vers un répertoire différent, vers un site Web différent, ou vers un autre fichier dans un répertoire différent. Lorsque le navigateur demande le fichier à L'URL d'origine, le serveur web demande au navigateur de demander la page en utilisant la nouvelle URL.



Important



Vous devez être membre du groupe Administrateurs sur l'ordinateur local pour effectuer les procédures suivantes. Comme pratique exemplaire en matière de sécurité, ouvrez une session sur votre ordinateur en utilisant un compte qui ne fait pas partie du groupe des administrateurs, puis utilisez la commande runas pour exécuter IIS Manager en tant qu'administrateur. À l'invite de commande, tapez runas / user: Administrative_AccountName "mmc %systemroot%\system32\inetsrv\iis.MSC."



Procédures d'

à rediriger les demandes vers un autre site web ou un autre répertoire



  1. dans IIS Manager, développez l'ordinateur local, faites un clic droit sur le site Web ou le répertoire que vous voulez rediriger, et cliquez sur Propriétés.

  2. Cliquez sur le Répertoire, le Répertoire Virtuel ou onglet Répertoire.

  3. sous le contenu de cette source devrait venir de, cliquez sur une redirection vers une URL.

  4. dans la boîte Redirect to, tapez L'URL du répertoire de destination ou du site web. Par exemple, pour rediriger toutes les demandes de fichiers dans le répertoire Catalogue vers le répertoire NewCatalog, tapez /NewCatalog.

Pour rediriger toutes les requêtes à un seul fichier



  1. dans IIS Manager, développez l'ordinateur local, faites un clic droit sur le site Web ou le répertoire que vous voulez rediriger, et cliquez Propriété.

  2. Cliquez sur le Répertoire, le Répertoire Virtuel ou onglet Répertoire.

  3. sous le contenu de cette source devrait venir de, cliquez sur une redirection vers une URL.

  4. dans la boîte de redirection, tapez L'URL du fichier de destination.

  5. sélectionnez la case à cocher de L'URL exacte entrée ci-dessus pour empêcher le serveur Web d'ajouter le nom du fichier original à la destination URL.

    vous pouvez utiliser des caractères génériques et des variables de redirection dans L'URL de destination pour contrôler précisément comment L'URL originale est traduite dans L'URL de destination.

    Vous pouvez également utiliser la méthode de redirection pour rediriger toutes les requêtes de fichiers dans un répertoire particulier à un programme. Généralement, vous devez passer tous les paramètres de L'URL d'origine au programme, ce que vous pouvez faire en utilisant des variables de redirection.

    Pour rediriger les requêtes vers un programme



  6. dans IIS Manager, développez l'ordinateur local, faites un clic droit sur le site Web ou le répertoire que vous voulez rediriger, et cliquez sur Propriétés.

  7. Cliquez sur le Répertoire, le Répertoire Virtuel ou onglet Répertoire.

  8. sous le contenu de cette source devrait venir de, cliquez sur une redirection vers une URL.

    dans la boîte Redirect to, tapez L'URL du programme, y compris toute redirection variables nécessaires pour passer les paramètres au programme. Par exemple, pour rediriger toutes les requêtes de scripts dans un répertoire de Scripts vers un programme de journalisation qui enregistre L'URL demandée et tous les paramètres passés avec L'URL, tapez /Scripts/Logger.exe?URL=$V+PARAMS = $P. $V et $P sont des variables de redirection.

  9. sélectionnez la case à cocher "URL exacte saisie ci-dessus" pour empêcher le serveur web d'ajouter le nom du fichier original à L'URL de destination.

30
répondu Dmitri Farkov 2012-02-14 17:50:23

formater L'URL de redirection de la façon suivante:

stuff.mysite.org.uk$S$Q

$S va dire que n'importe quel chemin doit être appliqué à la nouvelle URL. $Q dit que toute variable de paramètre doit être passée à la nouvelle URL.

dans IIS 7.0, vous devez activer l'option Redirect to exact destination. Je crois qu'il doit y avoir une option comme celle-ci dans IIS 6.0 aussi.

35
répondu Nirmal 2011-12-20 11:33:52

si vous avez des charges de redirection à créer, avoir des charges de répertoires virtuels sur les lieux est un cauchemar à entretenir. Vous pouvez essayer D'utiliser ISAPI rediriger une extension IIS. Alors tout ce que vous redirigez est géré en un seul endroit.

http://www.isapirewrite.com/docs/

il permet aussi de faire correspondre des motifs basés sur des expressions reg ex, etc. J'ai utilisé des endroits où j'ai dû rediriger des centaines de pages et ça m'a fait gagner beaucoup de temps.

4
répondu Jon Jones 2009-05-20 14:58:27

Voici la configuration pour ISAPI_Rewrite 3:

RewriteBase/

RewriteCond %{HTTP_HOST} ^mysite.org.uk$ [NC]

RewriteRule ^stuff / (.+ ) $ http://stuff.mysite.org.uk / $1 [NC,R=301,L]

1
répondu TonyCool 2009-07-09 14:22:51