Réécriture d'url dans fichier asp

Ishizaki Messages postés 51 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 4 décembre 2008 - 22 févr. 2007 à 09:41
Ishizaki Messages postés 51 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 4 décembre 2008 - 22 févr. 2007 à 11:45
Salut tout le monde, me revoilà avec un nouvel 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:
-----------------------------------------------------------------------------------------------------------------
<%

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%>
                .asp?idU= <% =resMenu.fields("idUniv")%>" class= "textemenu2" title=" <% =resMenu.Fields("commentaire")%>"><%= resMenu.fields("intUniv") %></td>

             <% else

libelle =clean(resMenu.fields("intUniv"))%>'Fonction clean remplaçant les espaces par des tirets déclarée dans un fichier                                                                                                             'fonction.asp

resMenu.fields%28</gras>/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:
---------------------------------------------------------------------------------------------------------------
[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

je quote tu quotes...

1 réponse

Ishizaki Messages postés 51 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 4 décembre 2008
22 févr. 2007 à 11:45
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.
je quote tu quotes...
0
Rejoignez-nous