Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2007, 09h53   #1
Membre habitué
 
Avatar de Ishizaki
 
Inscription : avril 2006
Messages : 262
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 262
Points : 133
Points : 133
Envoyer un message via MSN à Ishizaki
Par défaut Réécriture d'url dans fichier ASP

Salut tout le monde, me voilà avec un obstacle.

J'ai donc été chargé de faire l'url rewriting d'un site.

La structure du menu dont je me sers est la suivante(celui-ci est intégré à une page d'index via une fonction d'include):

Code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<% sqlMenu = "SELECT * FROM Univers,Site WHERE Univers.idSite=Site.id AND visible=-1 AND Site.id = " & Application("idSite") & " AND Style=1 ORDER BY ordre"
    Ouverture sqlMenu,resMenu,0
        If not estVide(resMenu)
            Then do while not resMenu.eof
                if application("rewrite")=0 then%>
                <a href="/asp/univers<%=resMenu.fields("style").asp?idU=<%=resMenu.fields("idUniv")%>" class="textemenu2" title="<%=resMenu.Fields("commentaire")%>"><%=resMenu.fields("intUniv")%></a></td>
 
             <% else libelle=clean(resMenu.fields("intUniv"))%>'Fonction clean remplaçant les espaces par des tirets déclarée dans un fichier                                                                                                             'fonction.asp
 
<a href="/r<%=resMenu.fields("idUniv")%>/truc-<%=libelle%>-chose.html" class="textmenu2" title="<%=resMenu.fields("commentaire")%>"><%=resMenu.fields("intUniv")%>
 
            <% end if %>
'(...)
'(la suite permet de boucler le menu donc ca n'a pas d'importance)

Voilà donc que je m'explique.
En fait, la requête sql ci dessus permet d'aller chercher dans la base les menus correspondant au style. Donc, par exemple, si style="1" comme ci dessus, cela donnera dans l'url non modifiée:/asp/univers1.asp?IdU=(numéro de l'id correspondant). Et donc, avec la boucle while, cela va continuer jusqu'à qu'on ne trouve plus de données correspondant à style="1".

Si l'application rewrite est différent de 0 (donc égal à 1), on écrit l'url rewriting.

Il faut savoir que cette requête SQL est répétée deux autres fois, pour les univers2 et univers0 (respectivement style="2" et style="0"). Cela nous donnera donc 3 parties dans le menu.

Les menus sans la réécriture fonctionnent parfaitement.

On a aussi un fichier global.asa à la racine du site qui détermine toutes les fonctions Application, dont notre application("rewrite") initialisée dans ce fichier à 1 qui permet d'effectuer l'url rewriting.

Pour l'url rewriting j'ai donc un fichier qui est le suivant: httpd.ini, toujours à la racine du site:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
[ISAPI_Rewrite]
RepeatLimit 32
RewriteRule /httpd(?:\.ini|\.parse\.errors) / [F,I,O]
RewriteCond  Host:  localhost
RewriteRule .*\.isrwhlp / [F,I,O]
RewriteRule /r(\d+)/([^/]+).html /asp/univers1.asp\?idU=$1
RewriteRule /r(\d+)/([^/]+).html /asp/univers2.asp\?idU=$1
RewriteRule /r(\d+)/([^/]+).html /asp/univers0.asp\?idU=$1
RewriteRule /b(\d+)_u(\d+)/([^/]+).html /asp/indexbien4.asp\?idB=$1&idU=$2
#J'ai donc créé 3 réécritures pour les univers selon qu'il soit1, 2 ou 0.

L'url est donc modifiée dans la barre d'adresse mais l'url rewriting ne fonctionne pas du tout!
J'ai donc logiquement une bon gros message d'erreur "file not found", vu que la page cherche l'adresse réécrite.

J'ai tout essayé, bidouillé n'importe quoi et ça n'a rien changé, alors votre aide serait la bienvenue ^^.


Merci
Ishizaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 11h44   #2
Membre habitué
 
Avatar de Ishizaki
 
Inscription : avril 2006
Messages : 262
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 262
Points : 133
Points : 133
Envoyer un message via MSN à Ishizaki
J'ajoute que sur chaque serveur est installé IIS avec le module ISAPI rewrite aussi installé... Je pensais que c'était le fait qu'ils n'étaient justement pas installés mais si.....

De plus cela marche sur TOUS les autres sites, et là, incompréhensible....

Je ne comprends vraiment pas.
Ishizaki est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h09.


 
 
 
 
Partenaires

Hébergement Web