8
votes

Masquer index.php (ou index.html) d'une URL

Lorsque je tape l'adresse de mon site dans un navigateur (mySite.com), il redirige vers mysite.com/index.php. Pourquoi ne pas indexer.html? Parce que je l'ai changé dans le fichier Conf dans Apache 2.2.

  • Maintenant, je voudrais cacher la dernière partie "index.php". Comment puis-je faire ça?
  • serait-il différent, il était index.html que index.php?

    ne serait pas laid si en recherchant Google, vous vous retrouveriez sur www.google.com/index.html? ... c'est juste pour l'esthétique, mais Dieu est important pour certaines personnes.


2 commentaires

J'ai ré-marqué la question, supprimant «masquer» et remplacer par «mod-réécrit» comme je pense que c'est probablement plus pertinent. Je suis heureux d'être prouvé comme tort, cependant =)


Que voulez-vous dire par redirection? Est-ce une redirection externe (l'URL change) ou une redirection interne (demande de / renvoie la même chose que /index.php )?


4 Réponses :


1
votes

Vous pouvez facilement faire cela avec la mappage d'URL dans le fichier http.conf ou les fichiers individuels .htaccess de vos annuaires d'applications. Activez MOD REWRITE . ici est un tutoriel simple.


2 commentaires

J'aime ta réponse mais je pense que Pablo Santa Cruz et penseur ont raison: je n'ai pas besoin d'aller dans cette profondeur pour résoudre mon problème spécifique. Vous n'avez pas besoin d'un canon pour tuer une mouche.


D'accord, si vous voulez seulement gérer index.html, alors c'est correct. Si vous avez plus d'une page de "contrôle", vous avez besoin de mod_rewrite.



4
votes

Si cela redirige, (en envoyant un nouvel emplacement sur HTTP en-tête, par exemple), il n'y a rien que vous puissiez faire mais changer le code qui fait la redirection.

D'autre part, si votre serveur Web est Apache, une directive de configuration peut aider:

DirectoryIndex

Lorsque vous définissez cela à: index.php ou index.html , votre serveur Web redirigea automatiquement à ces fichiers internes sans changer l'URL lorsque vous touchez la répertoire sur votre serveur où la directive DirectoryIndex est configurée.

Je suppose que vous obtiendrez de meilleures réponses si vous postez ceci sur serverfault .

bonne chance.


1 commentaires

Je n'aurais peut-être pu être incertain mais la partie qui a dit "je l'ai changée dans le fichier Conf à Apache" signifiait exactement cela. Il est défini sur index.php.



10
votes

Je ne sais pas pourquoi vous devez utiliser mod_rewrite. Sur mon site, je n'ai rien fait pour cacher index.php, je ne le pointez pas n'importe où dans le code, donc au lieu de www.example.com/index.php?task=forum, je viens d'écrire www.example.com/?task = forum. Il fonctionne sur Standard Apache Config.


4 commentaires

Se mettre d'accord. Vous n'avez pas besoin de mod_rewrite pour une telle chose simple.


Je vais essayer ça et revenir à vous.


Hmmm je suis un peu confus ... Je renvoie l'index.php plus tard dans un autre code mais ça ne devrait pas avoir d'importance. Lorsque j'écris mySite.com, je suis référé à ma machine serveur qui exécute Apache. Apache affiche ensuite l'index.html. Mais je ne fais jamais référence à cela spécifiquement.


Vérifiez l'endroit où vous avez été référé à votre serveur. Il peut s'agir de la configuration httpd erronée.



2
votes

Cela semblait fonctionner dans mon environnement (n'ayant pas afficher index.php): xxx


0 commentaires