Odmowa dostępu: /home/.htaccess pcfg_openfile: nie można sprawdzić pliku htaccess

13

Ta domena działała dziś rano, teraz pojawia się błąd 403 i powyższy komunikat w moim dzienniku błędów. Nie używam plików .htaccess, ale robię trochę kopiowania na serwerze, więc mogłem coś zepsuć, ale żadnych zmian w tej domenie (chyba że przez przypadek!). Co to w ogóle jest ten plik pcfg_openfile?

Zrobiłem dużo googleingu, ale żadne z rozwiązań nie pasowało do tych okoliczności. Serwer to ubuntu Hardy Heron.

użytkownik19196
źródło

Odpowiedzi:

19

prawdopodobnie zmieniłeś uprawnienia do katalogu (lub jednego z jego rodziców), w którym serwer sieciowy szuka pliku .htaccess, aby serwer nie mógł już sprawdzać, czy jest plik .htaccess.

Najpierw napraw uprawnienia do katalogu (musi to być rx przez proces serwera WWW, więc 755 lub 775, w zależności od tego, czy chcesz, aby katalog był zapisywalny w grupie, czy nie). Pamiętaj, że musisz upewnić się, że uprawnienia każdego katalogu nadrzędnego do kopii zapasowej w katalogu głównym systemu plików (tj. /) Są odbierane przez serwer WWW.

a następnie, jeśli tak naprawdę nie używasz plików .htaccess i nie masz zamiaru ich używać w przyszłości (tj. zamierzasz umieścić całą swoją konfigurację w httpd.conf / apache.conf), to wyłącz pliki htaccess w konfiguracji apache.

istnieje niewielka obniżka wydajności za sprawdzanie istnienia, wczytywania i analizowania plików .htaccess w bieżącym katalogu oraz w każdym katalogu nadrzędnym z powrotem do katalogu głównego dokumentu. jest bardzo mały, ale sumuje się, gdy jest wiele żądań.

cas
źródło
Spot on. Miałem kogoś, kto zdołał zmienić uprawnienia do katalogu / home, co pomieszało wszystko inne. Ogromne dziękuję!
user19196,
2

Jeśli nie jest oczywiste, że serwer nie może odczytać pliku .htaccess (0755 lub .htacess, a reszta drzewa znajduje się w grupie danych www), wyszukaj wyższy katalog główny tylko onwer: grupa, która robi *** * nie **** mają dostępu do wykonywania na całym świecie.

Aby apache znalazł plik, musi przeszukać drzewo. Nie można tego zrobić, jeśli katalog root: root nie ma globalnego dostępu do wykonywania.

Potknąłem się o to kilka razy .... :-)

John Logsdon
źródło
„Nie można tego zrobić, jeśli katalog główny: root: root nie ma globalnego dostępu do wykonywania.” To nie zawsze jest prawdą. Jeśli korzystasz z suPHP, wówczas PHP jest właścicielem pliku. Teoretycznie powinieneś być w stanie przetestować dostęp Apache'a, przechodząc do użytkownika będącego właścicielem pliku i sprawdzając, czy możesz tam nawigować.
Buttle Butkus