2010-10-28 16 views
2

Un de mes clients renvoie les personnes à une certaine URL. Elle imprime l'URL sur des lettres physiques, et les destinataires ont quelques semaines pour visiter l'URL et terminer la tâche. Disons que l'URL est qu'elle donne:Redirection IIS à partir d'une URL spécifique obsolète?

www.department-a.domain.com/folder/important-page.html

Le problème est que je commutation Content Management Systems pour que la page elle relie les gens pour s'asseoir à une URL différente. Mais comme elle imprime physiquement l'URL sur des lettres, il doit y avoir un certain chevauchement afin que les gens puissent visiter l'ancienne URL et être redirigés.

Voici où il devient difficile. Dans le nouveau système, le sous-domaine de www.department-a.domain.com redirige vers www.domain.com/index/department-a.aspx

Ce qui n'est pas un dossier mais une page réelle qui permet de rediriger rusé. Cela signifie également que je ne peux pas simplement recréer la structure du dossier et utiliser un simple rafraîchissement/redirection Meta HTML. Essentiellement ma question est:

Est-il de toute façon dans IIS pour dire au serveur que lorsque quelqu'un tente d'afficher l'URL spécifique et n'existe plus de "www.department-a.domain.com/folder/important-page.html "les rediriger vers un autre endroit? Je suis nouveau sur .net et IIS, donc toute contribution ou lien ou conseil est grandement apprécié. Éditer- Désolé, j'utilise IIS7, pas IIS6 comme je l'ai indiqué précédemment.

Merci!

Répondre

2

Examinez la réécriture d'URL.

Si vous utilisez IIS 7: Here

+0

Bonjour bechbd. Je vais certainement regarder dans le module de réécriture d'URL. Ma question est - est-il possible de rediriger une seule URL spécifique.Je ne suis pas très expérimenté avec RegEx etc ... – BlueDev

+0

Oui, il est possible de rediriger une seule URL en utilisant la réécriture. Regarder en utilisant Rewrite Maps dans la réécriture d'URL: http://learn.iis.net/page.aspx/469/using-rewrite-maps-in-url-rewrite-module/ – bechbd

1

J'étais nouveau .NET le mois dernier et avais besoin de cette même solution exacte. Tout le monde a recommandé des plugins de réécriture d'URL comme bechbd mentionné, mais je cherchais simplement à avancer une seule URL. Sûrement il y avait un moyen? Il s'avère, il n'y a pas - parce que IIS 6 est incroyablement stupide.

Au lieu de cela, vous devrez mettre du code dans la page réelle (ou installer les plugins si vous faites plus que quelques URLs).

.ASP

<%@ Language=VBScript %> 
<% 
' Permanent redirection 
Response.Status = "301 Moved Permanently" 
Response.AddHeader "Location", "http://www.example.com/" 
Response.End 
%> 

.ASPX

<script language="VB" runat="server"> 
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Status = "301 Moved Permanently" 
    Response.AppendHeader("Location", "http://www.example.com/") 
    End Sub 
</script> 

Je viens de ce code mis en œuvre le mois dernier et tous les moteurs de recherche correctement changé leur index sur la base des 301s. J'ai trouvé un LOT de variations de ce code sur le Web, mais le code ci-dessus a très bien fonctionné sur mon stock IIS 6.

+0

Hi Degenerate. Exactement, je n'ai pas besoin de redirections RegEx pour toute une collection d'articles etc ... juste besoin d'une seule URL. La partie difficile est l'URL que le client envoie a un sous-domaine au début de celui-ci, qui est configuré pour transmettre à une certaine page, pas de répertoire. Ce qui signifie que je ne peux pas mettre de code dans les pages réelles, puisque je ne peux pas créer la structure de dossier. – BlueDev

+0

Ensuite, allez-y et installez le plugin de réécriture IIS7. Ce fut une grande peine à installer pour IIS6, mais il semblait assez facile pour 7, et devrait gérer le problème de sous-domaine que vous avez. – degenerate

+0

"Il s'avère, il n'y a pas - parce que IIS 6 est incroyablement stupide." - Littéralement ri à haute voix. C'est extrêmement frustrant. Il existe un excellent outil de HeliconTech appelé ISAPI réécrit qui imite le fichier .htaccess trouvé dans les serveurs Apache. Malheureusement, je ne peux pas l'utiliser en raison de limitations techniques, et le manque d'alternatives est frustrant. – plntxt

0

Url réécriture est la bonne façon de voler. Dans un pincement, ou coincé sur IIS6, vous pouvez créer un répertoire virtuel du tout. Y compris ce qui semble être un nom de fichier. Et tout répertoire virtuel peut être une redirection côté serveur. Pour contourner le problème du sous-domaine du département, la question clé est "est-ce que quelque chose va fonctionner à ces URL?" Si ce n'est pas le cas, il suffit de configurer un site pour rediriger l'ensemble.