Pourquoi index.html a-t-il priorité sur index.php?

J’ai un site Web sur un serveur. La page d’accueil est example.com/index.php.

OK, j’ai téléchargé un fichier nommé index.html sur le serveur (le répertoire racine) et lorsque j’ai tapé le domaine de mon site dans la barre d’URL du navigateur, j’ai été surpris, car la page index.html était chargée.

(example.com-> example.com/index.html) Alors pas ce que je voulais.

Ma question: pourquoi est-ce arrivé? Pourquoi index.html a-t-il un avantage sur index.php?

Cela dépend vraiment du serveur que vous utilisez. C’est une question de configuration. Il n’est pas avantageux d’utiliser HTML-vs-type de fichier HTML.

Vous pourriez dire que la variante .html a préséance car c’est le format web le plus basique.

Si vous utilisez Apache, vérifiez simplement la configuration par défaut .htaccess :

 DirectoryIndex index.html index.shtml index.php index.htm default.html Default.htm default.html Default.html default.shtml Default.shtml page1.html index.pl index.cgi index.php3 index.phtml home.htm home.html home.shtml index.wml 

Vous pouvez le modifier et l’adapter à vos besoins.

@kuroir a raison, cela dépend de la configuration du serveur web, dans Apache c’est DirectoryIndex :

 DirectoryIndex index.html index.php index.cgi 

Cela donnera la priorité aux fichiers .html sur les fichiers .php et la priorité aux fichiers .php sur les fichiers .cgi .

Je sais que c’est vieux et a été accepté mais je veux append à cela si quelqu’un d’autre a ce problème.

Je suis venu ici en cherchant une solution au même problème. Entrer le WordPress “index.php” dans l’URL a été redirigé vers “index.html”. Cela n’avait rien à voir avec le .htaccess. J’ai finalement trouvé la solution dans leur forum. WordPress a modifié le programme il y a quelques années pour supprimer “index.php” des URL. Alors, bien sûr, cela va à votre défaut (généralement index.html).

Pour qu’il se comporte comme vous le souhaitez, vous devez annuler la modification ici: changeset 9203 . Voir le sujet du forum

Eh bien, cela dépend de votre fournisseur d’hébergement et bien oui, le fournisseur d’hébergement à 90% donne la priorité à index.html au lieu de index.php ou de toute autre extension.

Le plus gros problème, comme pour tous les types de développement, est la maintenance. Si vous décidez de changer de technologie, en exposant l’extension de fichier que vous définissez vous-même pour beaucoup de travail – sans parler des aspects de sécurité de la diffusion de votre choix. La meilleure situation est d’éviter d’exposer des extensions en utilisant la réécriture d’url.