IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web avec .NET Discussion :

Ré-écriture d'url IIS7


Sujet :

Développement Web avec .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOE
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet MOE
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Par défaut Ré-écriture d'url IIS7
    Bonjour

    Je ne suis pas un débutant, mais si j'ai toujours eu du mal sur qq chose, c'est bien la réécriture d'url avec la mise en place d'expression régulière et IIS 7

    voila ce que j'essaie de faire sur un site en production, donc je n'ai pas le droit à l'erreur, le site est en ligne...


    J'ai un hébergement et un domaine, toute l'application .net est à la racine du site chez l'hébergeur (chez ikoula, httpdoc/)

    je veux maintenant déplace l'intégrlité du site dans un sous répertoire, mais bien sur je ne veux pas changer les URL.


    donc je place le site dans le répertoire "production"

    question :

    qu'est ce que je doit écrire comme rêgles de réécriture d'url pour que ce soit transparent pour les internautes...

    donc une page qui avant etait accessible :

    http://www.mondomaine.fr/mapage.htm
    sera en fait
    http://www.mondomaine.fr/production/mapage.htm

    physiquement sur le site la page est déplacé de :
    httpdoc/mapage.htm
    vers
    httpdoc/production/mapage.htm

    bien sur je ne veux pas changer mon code, est garder http://www.mondomaine.fr/mapage.htm


    Merci de votre aide, j'ai déjà fait un essai et ça a foiré, j'ai eu le droits à des boucles d'url

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Tu n'as pas d'autre environnement que la prod pour faire des tests ??

    Voici un lien qui te donne un exemple de règle de redirection : http://www.iis.net/learn/extensions/...rewrite-module (voir la rubrique "Creating a redirect rule").
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOE
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet MOE
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Par défaut
    Je connais ce lien que tu me fournis, il part du principe que j'ai accès à l'interface IIS

    Mon problème est que je suis chez ikoula en hébergement mutualisé, et je dois écrire les rêgles dans les fichiers de mon projet (rewritemaps.config, rewriterules.config)

    Je peux difficilement tester...

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Ah oui effectivement, il faut donc passer par un fichier de config.

    Comme je ne connais pas la structure de ton site Web, je me suis basé sur l'exemple que tu as fourni avec mapage.htm :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Test MaPage">
                        <match url="^mapage.htm$" />
                        <action type="Rewrite" url="/production/mapage.htm" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>

    A mettre dans le web.config. Si tu as des URL avec des query strings, il faut modifier l'attribut url de l'élément match, et définir autant de "match group" que de query strings dans la regex. ENsuite dans la propriété url de l'élément action, tu peux récupérer les "match group" en mettant {R: x}, où x est l'indice du "match group".

    Par exemple, prenons une regle pour l'url mapage.htm?ID=2 :
    match url="^mapage.htm\?[_0-9a-z-]+\=([_0-9a-z-])$"
    action url="/production/{R:1}/mapage.htm"

    Dans match url, j'ai définit un "match group" sur la valeur du premier query string (après le égal). Dans action url je veux le réutiliser, donc j'ai mis {R:1} afin de récupérer le paramètre 1.

    En résultat j'aurais donc : /production/2/mapage.htm

    Voilà en gros le principe, j'espère avoir été clair dans les explications
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet MOE
    Inscrit en
    Avril 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet MOE
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 18
    Par défaut
    Merci pour cette explication, effectivement, c'est plus clair.

    Cependant, cet exemple va m'obliger à déclarer toute mes pages, actuelles et futures.

    Et c'est la mon objectif, comment écrire la rêgle dans ce fichier, pour que l'ensemble des pages soient recherchées non pas dans le répertoire principal, mais dans le sous dossier "production" ?

    Lorsque je pars dans cette considération, je me retrouve avec des boucles de pages...

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    En fait tout dépend de la structure de ton site. Sur une structure simple, la plupart du temps une à deux regex suffisent. Après quand ça devient plus complexe, il faut voir au cas par cas.

    Si tu peux nous en dire plus sur ta structure de dossiers et de fichiers (et éventuellement les query strings), on pourra t'aiguiller plus précisément pour avoir à écrire le minimum de regex...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Erreur 500 à cause de la ré-écriture d'url
    Par Foine dans le forum Apache
    Réponses: 6
    Dernier message: 23/06/2011, 19h03
  2. [MySQL] Regle d'écriture htacces & url rewriting
    Par Aloneghost dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/11/2010, 14h07
  3. [CakePHP] [CakePhp] Modification de l'écriture des URL
    Par pontus21 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/04/2009, 12h21
  4. [Spip] ré-écriture des urls
    Par mama07 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 21/11/2007, 15h50
  5. Réponses: 5
    Dernier message: 02/10/2006, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo