2009-02-28 6 views
3

J'ai une URL qui est facilement accessible lorsque vous demandez comme:.comportement apache étrange lorsque vous essayez d'afficher urls sans extension html

 
    http://example.com/2005/01/example.html 

    or 

    http://example.com/2005/01/example 

(En fait, je ne sais pas pourquoi cela fonctionne sans l'extension au lieu , il doit renvoyer l'erreur 404 d'habitude)

Cependant, lorsque je tente d'accéder à l'adresse suivante:.

 
    http://example.com/2005/01/example/ 
    (note the trailing slash) 

Je reçois une erreur 404 Introuvable mais avec l'URL demandée Tirée comme: Donc, il semble que la partie ".html" a été automatiquement ajoutée par apache.

Ma question est: comment désactiver ce comportement? Je dois le faire parce que je veux ajouter des règles mod_rewrite pour cacher l'extension html, afin que je puisse accéder à cette URL comme:

 
    http://example.com/2005/01/example/ 

Mon apache est 2.2.9 sur Ubuntu 8.10.

Merci!

Répondre

6

MultiViews peut provoquer ce problème. Essayez de le désactiver:

Options -MultiViews 
+0

C'était exactement la cause, le comportement disparaissait lors de l'ajout de cette configuration (j'ai googlé un peu mais je n'ai rien trouvé de similaire à mon problème) Merci beaucoup. – Favio

0

Est-ce que example.html est un fichier qui se trouve dans le répertoire 2005/01? Il semble que mod_rewrite soit déjà actif. Si vous utilisez un blog ou un système de gestion de contenu sur votre serveur, cela fait probablement déjà partie de votre URL.

+0

Oui example.html est un fichier réel. J'essaie actuellement Jekyll qui est un générateur de fichiers statique, donc je n'avais pas de règles de réécriture, mais il est maintenant temps de les ajouter. Merci. – Favio