Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][htaccess] Błąd 500 po wgraniu pliku
Forum PHP.pl > Forum > Przedszkole
Vitoss
Wgrywam plik .htaccess na serwer, wyrzuca mi błąd 500 (Internal Server Error). Co śmieszniejsze, nawet gdy dam plik tylko z treścią "RewriteEngine On" (nic dalej) też wyrzuca 500...
Serwer obsługuje mod_rewrite. Co z tym może być? Probowałem z chmodami dla pliku - nic nie dało, dodawałem też opcję FollowSymLinks - również bezskutecznie. Jak to można rozwiązać?
erix
No skoro wywala 500 przy samym
[APACHE] pobierz, plaintext
  1. RewriteEngine On
[APACHE] pobierz, plaintext
to napisałbym do administratora, bo takie objawy się ukazują wówczas, gdy na serwerze nie ma aktywnego mod_rewrite.
wiewiorek
a masz moze dostep do katalogu logs z logami ?
cojack
http://kb.forpsi.pl/article.php?id=033

Jezeli nie ma modulu mod_rewrite to sprawdz tak:

Kod
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>


Jezeli nie wywali bledu, tzn ze jest wylaczony mod_rewrite, zreszta php_info(); i szukaj o tym.
Vitoss
Dzięki za odpowiedzi. Patrzyłem w phpinfo, mod_rewrite jest włączony, więc powinno być wszystko ok. Wpisując powyższy kod od cojack, też wyświetla 500-tke... Właśnie dostępu do logów nie mam :/
Mam taki dostęp do FTP, gdzie mogę modyfikować jedynie te pliki, które sam utworzyłem.
erix
W phpinfo...? O.o

Napisz do administratora serwera, on będzie wiedział najlepiej.
thek
Ja bym zerknął w samą strukturę pliku htaccess. Z wlasnego doświadczenia wiem, że jesli w tym pliku ostatnia linia nie jest pusta to Apache "głupieje" i wywala 500. Podejrzyj dokładnie plik i sprawdź czy za ostatnim wpisem w nim jest "enter", czyli przejście do nowej linii. Jesli masz wyświetlanie w swoim edytorze numerów linii to musi istnieć ostatnia linia w tym pliku pusta, bez żadnego znaku. Jeśli ostatnia linia będzie linią z instrukcją to Apache zeświruje. Sam kiedyś się na tym zaciąłem, kod htaccessa bezbłedny a sypal sie na pliku. Dopiero wstawienie dodatkowego entera na końcu pliku sprawiło, że nagle wszystko zadziałało. Dziwne, ale jak się okazuje, skuteczne.
cojack
Cytat(thek @ 21.09.2009, 22:41:12 ) *
Ja bym zerknął w samą strukturę pliku htaccess. Z wlasnego doświadczenia wiem, że jesli w tym pliku ostatnia linia nie jest pusta to Apache "głupieje" i wywala 500. Podejrzyj dokładnie plik i sprawdź czy za ostatnim wpisem w nim jest "enter", czyli przejście do nowej linii. Jesli masz wyświetlanie w swoim edytorze numerów linii to musi istnieć ostatnia linia w tym pliku pusta, bez żadnego znaku. Jeśli ostatnia linia będzie linią z instrukcją to Apache zeświruje. Sam kiedyś się na tym zaciąłem, kod htaccessa bezbłedny a sypal sie na pliku. Dopiero wstawienie dodatkowego entera na końcu pliku sprawiło, że nagle wszystko zadziałało. Dziwne, ale jak się okazuje, skuteczne.



Pierwsze słyszę, być może na windowsie się tak dzieje...

Vitoss jeżeli przy moim też Ci wywala błęda, tzn że być może jest złe ustawione chmod na pliki, być może nie masz uprawnień chmod na katalog w którym się znajdujesz, pisz do administracji, bez dostępu do shella to czasem ciężko coś ogarnąć.
thek
Żeby to było na localu to bym się nie dziwił... Ale tak się dzieje na serwerze produkcyjnym hostingu współdzielonego na az.pl o ile teraz dobrze kojarzę (dawno tam już nie grzebałem) smile.gif Mi samemu kopara opadła gdy poprawny htaccess wrzuciłem na serwer a on wysypał stronę winksmiley.jpg Dopiero gdy porównałem mój ze starym plikiem to ową zależność zauważyłem. Manipulowałem tym enterem w moim (raz dawałem raz kasowałem) i, jak się okazało, to była rzeczywiście przyczyna problemu. Wiem, że to dziwnie brzmi i trochę jak z kosmosu, ale niezbadane są konfiguracje serwerów współdzielonych biggrin.gif
Nie wiem od czego dokładnie to zależy, bo na localu wszystko u mnie chodzi niezależnie od struktury owego pliku...

Aha... Wspomniało mi się jeszcze jedno. Błąd ów występuje także gdy chce się odpalić na najnowszych wersjach Apache'a skrypty powiązane jeszcze z php4. Niedawno zrzuciłem jakąś starą wersję serwisu w mojej firmie, który miał w htaccess na końcu regułkę o użyciu php4 by działał poprawnie. Jako że nowsze wersje Apache'a nie wspierają PHP w wersji 4.X to wywaliło mi na localu konflikt i musiałem usunąć z htaccess ten wpis by serwis ruszył. Oczywiście działał niepoprawnie, ale chociaż działał, a nie wykrzaczał już na tym pliku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.