Bonjour,

Alors voilà, je suis un train de créer un projet qui utilise l'UrlRewriting pour enjoliver le MVC, et j'ai quelques problèmes au niveau du htaccess.

Voici en gros l'architcture du site

  • .htaccess
  • web/
    • style.css
    • favicon.png
    • site.js

  • sys/
    • modules/
      • test.mod.php

    • parse.php
    • model/
      • fullvisite.class.php

  • vue/




En bref, je voudrais que /test devienne /sys/parse.php?mod=test seulement si sys/modules/test.mod.php existe.

Le cas échant, on va chercher dans le dossier web si le fichier "test" existe.
Enfin, si c'est pas le cas, on renvoit une erreur 404.

Voilà le code de mon .htaccess
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
RewriteEngine On
 
# RewriteBase "/site/" - J'ai essayé avec ou sans, aucun changement
 
# Empêche la réécriture en boucle
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
 
# Cette condition n'est pas valide... et je sais pas pourquoi :s
RewriteCond sys/modules/%{REQUEST_FILENAME}.mod.php -f
RewriteRule ^(.*)$ sys/parse.php?mod=$1 [L]
 
RewriteRule ^(.*)$ web/$1 [L]
Si je tape xxx.com/style.css, j'ai bien la feuille de style.

Par contre, si je tape xxx.com/test, j'ai une erreur 404.

Je trouve pas mon erreur. Si j'enlève la condition tout marche très bien. Si quelqu'un sait pourquoi :o .

J'ai bien vérifier, c'est pas l'OS ou Wamp qui fait ça