1 votes

Erreur 404 Apache lorsque 'index' est dans le chemin

J'ai un problème de longue date avec mod_rewrite et l'hébergement partagé de 1and1 (j'espère que le fait qu'il s'agisse d'un hébergement partagé ne va pas faire migrer cela vers 'sharedserverfault'). Tout fonctionne parfaitement en ce qui concerne les règles de réécriture - sauf quand 'index' est dans le chemin. Alors j'obtiens une erreur 404 d'Apache.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]

Jusque là, c'est assez standard, cela fonctionne bien sur la plupart des serveurs. Sur le serveur de 1and1, je reçois une erreur 404 si index est le répertoire principal. Tout ce qui commence par 'http://example.com/index' donnera une erreur 404.

Si je copie index.php en bootstrap.php et que je modifie le fichier .htaccess pour pointer dessus et supprime index.php, cela fonctionnera.

Cependant, cela rend la mise à jour du serveur difficile - avez-vous des idées sur les paramètres d'Apache qui provoquent cela ? Évidemment je ne peux pas changer le fichier de configuration principal, mais je peux substituer des paramètres avec le fichier .htaccess.

4voto

Covar Points 103

La réponse se trouve ici:

Après avoir fouillé un peu, la solution consiste à désactiver quelque chose appelé MultiViews. L'option MultiViews permet d'appeler un fichier même si l'extension n'est pas chargée, donc index chercherait tous les fichiers appelés index, quel que soit leur extension.

Donc, la solution est d'ajouter:

Options -MultiViews

au fichier .htaccess.

0voto

mutewinter Points 3260

Si vous nommez un fichier index et le placez dans votre racine, est-ce qu'il renvoie une erreur 404 ou charge ce fichier ? Je vous suggère de remplacer la directive DirectoryIndex dans votre fichier .htaccess. Par défaut, il s'agit généralement de index.html, mais peut-être que le vôtre est juste index.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X