web-dev-qa-db-fra.com

Comment changer la page d'index par défaut dans Apache?

Je souhaite modifier la page Web par défaut qui s'affiche lorsque je navigue sur mon site. J'ai actuellement un programme de reporting en cours d'exécution, qui génère un fichier appelé index.html. Je ne peux pas changer ce qu'il appelle le fichier. Par conséquent, ma page de destination doit s'appeler autre chose. En ce moment, lorsque je navigue sur mon site, cela me mène à la page de rapport.

D'après ce que je vois, peu importe ce que vous appelez index.html, il le détectera par défaut. Je veux changer cela en landing.html. Comment puis-je faire cela?

Je suis un dossier (Folding @ Home). Le programme de reporting est HFM.net. HFM peut générer un fichier html avec mes statistiques de pliage actuelles. Il nomme l'index du fichier html. Je ne veux pas que ce soit ma page d'accueil par défaut. Je voudrais un type d'atterrissage où je peux choisir si je veux voir mes statistiques, ou quelque chose d'autre. Le site Web se trouve à/home/tyler/Documents/hfm/site Web (landing.html et index.html de hfm sont ici). Apache2 est dans son répertoire par défaut.

Je suis aussi sous Ubuntu 13.04.

51
Tyler Montney

Je recommande d'utiliser .htaccess. Il vous suffit d'ajouter:

DirectoryIndex home.php

ou le nom de la page que vous voulez avoir pour cela.

EDIT: tutoriel de base sur htaccess.

1) Créez le fichier .htaccess dans le répertoire où vous souhaitez modifier le fichier d’index.

  • pas d'extension
  • . devant, pour s'assurer qu'il s'agit d'un fichier "caché"

Entrez la ligne ci-dessus là-bas. Vous ajouterez probablement beaucoup, beaucoup d'autres choses à cela (AddTypes pour les fichiers de polices Web/multimédia, la mise en cache pour les en-têtes, la déclaration gzip pour la compression, etc.), mais cette ligne déclare votre nouvelle page "home".

2) Configurez le serveur pour autoriser la lecture des fichiers .htaccess (peut uniquement être nécessaire sur votre hôte local, si votre serveur d’hébergement le permet par défaut, comme la plupart des utilisateurs le permettent).

En supposant que vous ayez accès, accédez à l'emplacement du site activé de votre serveur. J'exécute un serveur Debian pour le développement et la configuration du site par défaut est à /etc/Apache2/sites-available/default pour Debian/Ubuntu. Vous ne savez pas quel serveur vous exécutez, mais recherchez simplement "sites disponibles" et entrez dans le document "par défaut". Vous y verrez une entrée pour Directory. Modifiez-le pour qu'il ressemble à ceci:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Puis redémarrez votre serveur Apache. Encore une fois, pas sûr de votre serveur, mais la commande sur Debian/Ubuntu est:

Sudo service Apache2 restart

Techniquement, il vous suffit de recharger, mais je redémarre juste parce que je me sens plus en sécurité avec un rafraîchissement complet comme celui-ci.

Une fois cela fait, votre site devrait lire à partir de votre fichier .htaccess et vous devriez avoir une nouvelle page d'accueil par défaut! Remarque secondaire, si vous avez un sous-répertoire qui exécute un site (comme une section administrateur) et que vous voulez avoir une "page d'accueil" différente pour ce répertoire, vous pouvez simplement insérer un autre fichier .htaccess dans la racine de ce sous-site et il écrasera la déclaration dans le parent.

76
PlantTheIdea

Vous pouvez également définir DirectoryIndex dans le fichier httpd.conf d'Apache.

CentOS conserve ce fichier dans /etc/httpd/conf/httpd.conf Debian: /etc/Apache2/Apache2.conf

Ouvrez le fichier dans votre éditeur de texte et trouvez la ligne commençant par DirectoryIndex

Pour charger landing.html par défaut (mais index.html si non trouvé) changez cette ligne pour lire:

DirectoryIndex  landing.html index.html
8
botheredbybees