2013-10-11 31 views
30

Chciałbym zmienić domyślną stronę wyświetlaną podczas przeglądania mojej strony. Aktualnie uruchamiam program raportujący i wyprowadzam plik o nazwie index.html. Nie mogę zmienić tego, co wywołuje plik. Dlatego moja strona docelowa musi być nazwana czymś innym. Teraz, kiedy przeglądam moją stronę, przenoszę mnie na stronę raportowania.Jak zmienić domyślną stronę indeksu w Apache?

Z tego, co widzę, cokolwiek wywołasz index.html, wywoła to jako domyślne. Chcę to zmienić na landing.html. Jak mam to zrobic?

Jestem folderem (Folding @ Home). Programem sprawozdawczym jest HFM.net. HFM może wyprowadzać plik html z moją bieżącą statystyką składania. Podaje indeks pliku html. Nie chcę, żeby to była moja domyślna strona główna. Chciałbym lądowania w menu, gdzie mogę wybrać, czy chcę zobaczyć moje statystyki, czy coś innego. Strona znajduje się w katalogu/home/tyler/Documents/hfm/website (landing.html i hfm's index.html są tutaj). Apache2 znajduje się w domyślnym katalogu.

Używam również Ubuntu 13.04.

Odpowiedz

54

Polecam używając .htaccess. Trzeba tylko dodać:

DirectoryIndex home.php 

lub dowolną nazwę strony, którą chcesz dla niego.

EDYCJA: podstawowy samouczek dotyczący htaccess.

1) Utwórz plik .htaccess w katalogu, w którym chcesz zmienić plik indeksu.

  • bez rozszerzenia
  • . w przód, aby upewnić się, że jest to "ukryte" plik

wprowadzić linię powyżej tam. Prawdopodobnie będzie wiele, wiele innych rzeczy, które dodasz do tego (AddTypes dla webfontów/plików multimedialnych, buforowanie dla nagłówków, deklaracja gzip dla kompresji itd.), Ale ta linia deklaruje twoją nową stronę "home".

2) Ustaw serwer, aby umożliwić odczytanie .htaccess plików (może być potrzebna tylko na localhost, jeśli domyślne hosting servce aby umożliwić jej jak najbardziej zrobić)

Zakładając, masz dostęp, przejdź do włączoną miejscu Twojego serwera Lokalizacja. Używam serwera Debiana do programowania, a domyślna konfiguracja strony to /etc/apache2/sites-available/default dla Debiana/Ubuntu. Nie wiesz, z jakiego serwera korzystasz, ale po prostu wyszukaj "strony dostępne" i przejdź do "domyślnego" dokumentu. Tam zobaczysz wpis do Katalogu. Zmodyfikuj go tak, aby wyglądał następująco:

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

Następnie uruchom ponownie serwer apache. Ponownie, nie wiesz o swoim serwerze, ale komenda na Debian/Ubuntu jest:

sudo service apache2 restart 

Technicznie wystarczy przeładować, ale ponowne uruchomienie tylko dlatego, że czują się bezpieczniej z pełnego odświeżenia takiego.

Po wykonaniu tej czynności witryna powinna odczytać plik .htaccess i powinieneś mieć nową domyślną stronę główną!Uwaga dodatkowa, jeśli masz podkatalog, który uruchamia witrynę (jak sekcja administratora lub coś podobnego) i chcesz mieć inną "stronę główną" dla tego katalogu, możesz po prostu umieścić inny plik w tej podstronie root i nadpisze deklarację w rodzicu.

+0

Jak korzystać z htaccess? Mój plik landing.html nie znajduje się w tym samym katalogu. –

+0

zredagowałem moją odpowiedź z krótkim tutorialem .htaccess. – PlantTheIdea

+0

Hmmm ... więc co mam zrobić, to utworzyć plik o nazwie ".htaccess" w moim katalogu głównym? Mój katalog główny jest czymś innym, ponieważ zmieniłem go w httpd.conf (i dodałem "Include httpd.conf" w apache2.conf. Czy to byłby katalog główny, do którego się odnosisz? Sprawdź moją edycję w oryginalny wpis dla mojej sytuacji: –

-4

Zapisz to w katalogu WWW folderu jako index.html

<html><head> 
<meta http-equiv="refresh" content="0; url=landing.html" /> 
</head> 
</html> 
+0

To jest przekierowanie do innej strony, a nie odpowiedź, jak zmienić domyślna strona indeksu w apache – SeriousM

2

Można również ustawić DirectoryIndex w pliku httpd.conf Apache.

CentOS utrzymuje ten plik w /etc/httpd/conf/httpd.conf Debian: /etc/apache2/apache2.conf

otworzyć plik w edytorze tekstu i znajdź linię zaczynające się DirectoryIndex

Aby załadować landing.html jako domyślny (ale jeśli index.html tego nie znaleziono) zmień wiersz na następujący:

DirectoryIndex landing.html index.html