Właśnie zainstalowałem CentOS, Apache i PHP. Kiedy odwiedzam moją witrynę http://example.com/myapp/ , pojawia się komunikat „zabronione”. Domyślnie nie ładuje pliku index.php.
Kiedy odwiedzam http://example.com/myapp/index.php , działa dobrze.
Masz jakiś pomysł, jak rozwiązać ten problem?
Chociaż dodanie „DirectoryIndex index.php” do pliku .htaccess może działać,
UWAGA:
Cytat z http://httpd.apache.org/docs/1.3/howto/htaccess.html.
Chociaż odnosi się to do starszej wersji Apache, uważam, że zasada nadal obowiązuje.
Dodanie następującego elementu do pliku httpd.conf (jeśli masz do niego dostęp) jest uważane za lepszą formę, powoduje mniejsze obciążenie serwera i ma dokładnie ten sam efekt:
źródło
Domyślam się, że indeks katalogu jest ustawiony na index.html lub inny wariant, spróbuj:
Nadal będzie to nadawać index.html pierwszeństwo przed index.php (przydatne, jeśli chcesz wyrzucić stronę konserwacyjną)
źródło
To może być pomocne dla kogoś. tutaj jest fragment z httpd.conf (Apache w wersji 2.2 dla systemu Windows)
teraz będzie szukać pliku index.html, jeśli nie zostanie znaleziony, będzie szukać pliku index.php.
źródło
Spróbuj utworzyć plik .htaccess w następujący sposób
Edycja: Właściwie, czy nie ma pakietu „php-apache” lub czegoś, co powinieneś zainstalować z obydwoma?
źródło
Miałem ten sam problem z witryną w naszej witrynie hostowanej bezpośrednio przez administratora. dodałem
jako niestandardowe rozszerzenie httd (które dodaje kod do
httpd
pliku witryn ), a następnie witryna uruchomiłaindex.php
domyślnie.źródło
Dla mnie ten sam problem. Moim rozwiązaniem było to, że mod_dir nie był włączony, a apache2 nie wyświetlał błędu podczas odczytu dyrektywy w moim pliku VirtualHost:
Za pomocą poleceń:
Naprawiono problem.
źródło
a2enmod
?Dla informacji: w niektórych konfiguracjach Apache2 musisz dodać polecenie DirectoryIndex w mods_enabled / dir.conf (nie znajduje się w apache2.conf)
źródło
Po przeczytaniu tego wszystkiego i próbie naprawienia tego, dostałem proste rozwiązanie na forum ubuntu ( https://help.ubuntu.com/community/ApacheMySQLPHP ). Problem leży w module libapache2-mod-php5. Dlatego przeglądarka raczej pobiera plik index.php niż wyświetla stronę internetową. Wykonaj następujące czynności. Jeśli sudo a2enmod php5 zwraca moduł nie istnieje, to problem dotyczy libapache2-mod-php5. Wyczyść usuń moduł za pomocą polecenia sudo apt-get --purge usuń libapache2-mod-php5 Następnie zainstaluj go ponownie sudo apt-get install libapache2-mod-php5
źródło
Miałem podobny objaw. Jednak w moim przypadku moje idiotyzm polegał na tym, że nieumyślnie miał również pusty plik index.html w folderze głównym sieci. Apache obsługiwał to, a nie index.php, gdy nie zażądałem wyraźnie index.php, ponieważ
DirectoryIndex
został skonfigurowany w następujący sposób wmods-available/dir.conf
:Oznacza to, że „index.html” pojawia się przed „index.php” na liście priorytetów. Usunięcie pliku index.html z katalogu głównego sieci w naturalny sposób rozwiązało problem. D'oh!
źródło
Instrukcja krok po kroku i pełna instrukcja dla Ubuntu 16.04.4 LTS i Apache / 2.4.18
„
sudo -s
”„
cd /etc/apache2/mods-enabled
”"
vi dir.conf
" i przenieś index.php na prawo za DirectoryIndex, jak poniżej i zapisz plik, a następnie zrestartuj serwer Apache.„
service apache2 restart
”Jeśli nie widzisz dir.conf, musisz go załadować (google, aby dowiedzieć się, jak to zrobić)
Gotowe.
źródło
Ten post może być stary, ale po prostu go publikuję, jeśli pomoże to innej osobie, nie radziłbym tworzyć pliku .htaccess w katalogu głównym sieci i zmieniać indeksu. Czuję, że lepiej postępować zgodnie z instrukcjami
Przejdź do folderu conf w swoim folderze Apache
C:\Apache24\conf
Otwórz plik o nazwie
httpd.conf
Przejdź do sekcji
Dodaj do niego index.php, jak pokazano poniżej
W ten sposób nadal wybiera index.html i index.php jako indeksy domyślne, ale daje pierwszeństwo index.html, ponieważ index.html występuje przed * index.php. Rozumiem przez to, że jeśli masz zarówno index.html, jak i index.php w tym samym katalogu, to index.html będzie używany jako domyślny indeks, chyba że napiszesz ** index.php * przed index.hml
Mam nadzieję, że to komuś pomoże ... Miłego kodowania
źródło
Ten działa jak urok!
Pierwszy
potem po tym od
do
źródło