Bonjour à tous,
Je me permet de poster ce message car j'ai quelques difficultés à utiliser l'url rewriting sur un Windows Server 2008 avec IIS7 et PHP.
J'ai créé une application PHP sur un serveur xampp (Apache) avec un url rewriting dans un .htaccess en prenant le framework de ce lien : http://bpesquet.developpez.com/tutor...hitecture-mvc/.
Sur le serveur Apache tout fonctionne correctement et j'ai des URLs de type "localhost/site/Arret".
On m'a demandé de passer mon application sur un serveur Windows Server 2008, pour cela j'ai installé PHP et le module URL rewrite pour IIS7.
PHP est correctement installer car j'ai créé un fichier phpinfo.php et il s'affiche. Mais lorsque j'ajoute mon site, le navigateur m'affiche une erreur 500.
Mon application possède des pages comme celles-la :
- localhost/site
- localhost/site/Arret
- localhost/site/Arret/Ajouter
- localhost/site/Arret/Modifier
Après quelques recherches, j'ai vu qu'il était possible de 'transformer' un fichier .htaccess en fichier 'web.config' à l'aide du module url rewrite.
Mon fichier .htaccess contient :
Le fichier web.config créé automatiquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 # Réécrit une URL de type xxx/yyy/zzz en index.php?controleur=xxx&action=yyy&id=zzz RewriteEngine on RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controleur=$1&action=$2&id=$3 [NC,L]
Je pense qu'il y a une erreur dans le fichier web.config mais je ne m'y connais pas dans ce domaine ou qu'il faut rajouter toutes les routes manuellement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CONFIG.WEB <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Règle 1 importée" stopProcessing="true"> <match url="^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$" /> <action type="Rewrite" url="index.php?controleur={R:1}&action={R:2}&id={R:3}" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
J’espère que pour pourrez m'aider à résoudre ce problème et me permettre d'utiliser mon application (en espérant avoir été le plus précis et explicite possible);
Merci d'avance.
Partager