Url rewrite avec web.config

Fermé
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 - Modifié le 3 mai 2023 à 17:41
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 - 8 mai 2023 à 20:27

Bonsoir, j'espère vous allez bien. 

Je cherche a réécrire les url de mon site avec le fichier web.config, j'ai tester plusieurs exemplaire sa ne donne rien.

J'utiliser le module réécriture IIS pour configure mon fichier web.config qui ce trouve dans le répertoire %SystemDrive%\inetput\wwwroot\

voici code du fichier web.config

<rewrite>
  <rules>
    <rule name="Rewrite to index.php">
      <match url="^home/" />
      <action type="Rewrite" url="index.php" />
    </rule>
  </rules>
</rewrite>

je vous remercie

7 réponses

mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
Modifié le 3 mai 2023 à 21:18

Merci pour votre réponse j'ai essaye ce code mais sa ne donne, quand j'actualise la page sa m'affiche 

404 Not Found nginx/1.22.1, voici ce qui est entrer dans l'url monsite.xyz/home/

On dirais le server ne détecte pas le fichier web.config?

0
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
Modifié le 4 mai 2023 à 04:16

Bonjour désole pour retard. J'ai essayé d'acceder sur l'url localement sa fais toujours

des erreurs 

voici ce qui dans le fichier du dossier logFile: 

2023-05-04 01:53:44 127.0.0.1 GET /inetpub/wwwroot/home/ - 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:109.0)+Gecko/20100101+Firefox/112.0 - 404 0 2 288
2023-05-04 01:54:11 127.0.0.1 GET /inetpub/wwwroot/article.php - 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:109.0)+Gecko/20100101+Firefox/112.0 - 404 0 2 17
2023-05-04 01:54:34 127.0.0.1 GET /inetpub/wwwroot/article.php - 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:109.0)+Gecko/20100101+Firefox/112.0 - 404 0 2 1
2023-05-04 01:56:02 127.0.0.1 GET /inetpub/wwwroot/home - 80 - 127.0.0.1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:109.0)+Gecko/20100101+Firefox/112.0 - 404 0 2 18

au dessus j'ai join une capture d'écran de la page.

Merci, j'espère sa pourrais aidé

0
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
Modifié le 4 mai 2023 à 07:09

Merci, je vous revient dans quelque instant

0
mobrobot Messages postés 173 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 8 mai 2023 1
8 mai 2023 à 20:27

Bonsoir ozone_

Malheureusement j'ai n'ai toujours pas puis résoudre le problème, en vérifient les autorisations IIS j'ai puis savoir que je n'ai pas Windows server manager dans mon PC. alors j'ai mis à jour mon système en accédant dans le Paramètre > Windows update et quand ce terminer.  au dessous de Windows available y'a le texte suivant qui s'affiche "The next Windows feature update is ready and includes reliability, performance, and security improvements." et quand j'appui sur le Botton Télécharger sa montre que ce encoure de téléchargement, mais rien ne ce passe, rien ne change.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
3 mai 2023 à 21:01

Bonjour,

Le code que vous avez fourni dans votre fichier web.config utilise le module de réécriture d'URL IIS pour rediriger les URL qui commencent par "/home" vers le fichier "index.php". Cependant, je remarque que le pattern utilisé pour le match n'inclut pas la fin de l'URL. Vous pouvez essayer d'utiliser le pattern suivant à la place :

<match url="^home/(.*)" />

Cela correspondra à toutes les URL qui commencent par "/home/", suivies de n'importe quel nombre de caractères.

Voici à quoi devrait ressembler le fichier web.config complet avec la modification :

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite to index.php">
          <match url="^home/(.*)" />
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Source: ChatGPT


-1
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
3 mai 2023 à 21:41

Il est possible que le serveur ne détecte pas le fichier web.config. Assurez-vous que le fichier web.config est bien placé dans le répertoire racine de votre site Web. Si le fichier est bien placé, vous pouvez essayer de redémarrer le service World Wide Web Publishing (W3SVC) pour forcer IIS à recharger la configuration.

Voici comment redémarrer le service W3SVC :

1. Ouvrez une fenêtre d'invite de commandes en tant qu'administrateur.

2. Tapez "net stop w3svc" pour arrêter le service W3SVC.

3. Tapez "net start w3svc" pour redémarrer le service W3SVC.

Une fois le service redémarré, essayez à nouveau d'accéder à votre site Web avec l'URL réécrite. Si cela ne fonctionne toujours pas, vous pouvez consulter les journaux d'erreur IIS pour obtenir des informations supplémentaires sur le problème. Les journaux d'erreur IIS se trouvent généralement dans le répertoire C:\inetpub\logs\LogFiles.

Source: ChatGPT


-1
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
4 mai 2023 à 06:55

Bonjour,

Le log que vous avez fourni montre que le serveur renvoie une erreur 404 pour les demandes de pages, y compris pour l'URL réécrite que vous avez spécifiée. Cela peut indiquer que le serveur n'arrive pas à trouver les fichiers demandés.

Assurez-vous que les fichiers que vous essayez d'accéder (par exemple, index.php et article.php) sont présents dans le répertoire racine de votre site Web. Vérifiez également que les autorisations d'accès aux fichiers sont correctement définies pour le compte de l'utilisateur IIS.

En outre, il est possible que votre serveur utilise un autre serveur web, tel que Nginx, qui peut être responsable du renvoi de l'erreur 404. Vous pouvez vérifier la configuration de votre serveur web pour vous assurer que les règles de réécriture sont correctement définies et activées.

Source: ChatGPT


-1