Gros problème avec url rewrite

Résolu
Bonsoir,
Je possède un serveur sous linux, auxquels j'ai installer apache.

J'ai installer le mod 'url_rewrite' et définis le .htacces.

Afin d'avoir une plus grand visibilité, j'ai décidé sur mon site web, que les extensions serait " caché " afin d'avoir www.monsite.com/acceuil à la place de www.monsite.com/acceuil.php.

Donc voici le code .htacces:
RewriteEngine on
RewriteRule ^index/$ index.php [L] <- Par exemple

Mais rien n'y fait, mon navigateur affiche " The requested URL /index was not found on this server. "

Je précise que le mod est bien actif, car j'ai créé un error document et celui-ci fonctionne.

Je n'y comprend rien du tout, j'ai essayé une vingtaine de code différents je m'arrache les cheveux...

Si quelqu'un peut me venir en aide, ce serait vraiment sympathique.

Merci d'avance.

8 réponses

  1. Bonsoir
    verifiez que le fichier s'apelle bien .htaccess et non pas .htacces
    ensuite verifier que l'adresse dans le navigateur est quelque chose comme:
    http://nom-de-domaine/index/
    c-à-d qu'il faut mettre le slash à la fin sinon supprimer le slash devant index dans le htaccess
    1. Bonsoir,

      J'ai vérifier les deux proposition et aucune d'elles ne règle malheureusement pas mon problème.

      En mettant le slash à la fin ( .../index/ ) cela ne fonctionne pas non plus, même erreur...

      Etant assez novice dans linux et les serveurs apache, mon code est-il correct ?

      Merci pour l'aide que vous me fournissez.
  2. as-tu activé le mod_rewrite par cette commande
    sudo a2enmod rewrite
    ensuite il faut redemarrer apache :
    sudo /etc/init.d/apache2 restart
    1. Bonsoir,

      Oui oui j'ai déjà tenter tout cela. Mais rien ne semble fonctionner...
  3. Il faut mettre dans le fichier de configuration d'apache:

    <Directory /dossier/document/root/>
    AllowOverride All

    au lieu de AllowOverride None
    1. Je ne trouve pas cette ligne " AllowOverride None "
      ça se trouve vers quelle ligne ?
  4. Normalement dans /etc/apache2/apache2.conf
    Quel est le contenu de ton fichier de configuration ?
    1. http://pastebin.com/Qc6MiLeQ
  5. A mon avis la directive AllowOverride se trouve dans un fichier qui se trouve dans
    /etc/apache2/sites-enabled
    ou bien dans
    /etc/apache2/conf.d
    1. Umh...Je vais voir, je vous tiendrais au courant. Merci quand même pour l'aide bien précieuse que vous m'avez apporté.
    2. J'ai trouvé, il se trouvait effectivement dans /etc/apache2/sites-enabled

      J'ai donc tout mis à All, mais cela n'a pas l'air de changer quelque chose.
  6. As-tu redemarrer apache ?
    combien de fichiers se trouvent dans /etc/apache2/sites-enabled
    quelle est le contenu de ce fichier
    quelle est le contenu de .htaccess
    1. Le contenu .htaccess= http://pastebin.com/0EdwkUwx
      le site-enabled: https://pastebin.com/KTXFxLGA

      Oui j'ai bien redémarrer apache, plusieurs fois,
      et un seul se trouve dans /etc/apache2/sites-enabled ( 000-default )

      Le code du htaccess semble correct, il fonctionne sous wamp.
  7. Quel est le résultat de cette commande:
    tail /var/log/apache2/error.log

    et cette commande:
    apache2ctl -M
    1. Le résultat error.log: http://hpics.li/071140e
      Le résultat apache2ctl -M: http://hpics.li/74623f7

      Il semble y avoir des erreurs par rapport à la ligne de test ( .../test )

      A voir.
  8. Bonjour,

    Le problème est résolu, entre temps, on m'a conseillé d'ajouter " Options -MultiViews " au .htaccess

    Et en effet cela fonctionne ! Un grand merci quand même pour avoir pris du temp à m'aider.

    Bonne journée.