2010-12-01 6 views
3

J'héberge une application php sur mon serveur Windows virtuel exécutant IIS.Traduction de .htaccess en web.config

La personne qui a écrit le site php pour moi m'a demandé de mettre ce morceau de code dans un .htaccess:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

Mais cette application est en cours d'exécution sur IIS, je dois traduire ce morceau de code à web.config. Comment puis-je les traduire dans web.config?

Répondre

3

Ce que fait ce code htaccess est de rediriger toute requête qui entraînerait une erreur 404 (les fichiers! -f et! -d signifient que le fichier n'existe pas et le répertoire n'existe pas) dans /index.php.

IIS7 a une fonction pour importer des règles mod_rewrite - utilisez simplement ceci:

  1. Démarrez Gestionnaire des services Internet.
  2. Sur la gauche, dans le volet Connexions, sélectionnez Site Web par défaut.
  3. Sur la droite, dans Affichage des fonctionnalités, cliquez sur Réécriture d'URL.
  4. Sur la droite, dans le volet Actions, cliquez sur Importer des règles.
  5. Copiez vos règles mod_rewrite et collez-les dans la zone de texte Règles de réécriture.
  6. L'onglet Vue arborescente de la zone Règles converties affiche instantanément le résultat de la conversion. Vous pouvez également cliquer sur l'onglet Affichage XML pour voir comment les règles sont stockées dans le fichier Web.config.

(Source)

+0

Merci beaucoup. Je vais l'essayer. Si l'URL n'est pas installée sur votre IIS, c'est ici: http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/ – olidev

+0

merci! ça fonctionne! – olidev