Wysłałem moje pliki .htaccess do serwerów produkcyjnych, ale one nie działają. Czy następnym krokiem byłby restart, czy powinienem sprawdzić coś innego.
źródło
Wysłałem moje pliki .htaccess do serwerów produkcyjnych, ale one nie działają. Czy następnym krokiem byłby restart, czy powinienem sprawdzić coś innego.
Ponowne uruchomienie nie jest wymagane w przypadku zmian w .htaccess. Coś innego jest nie tak.
Upewnij się, że Twój .htaccess zawiera oświadczenie
RewriteEngine włączony
który jest wymagany, nawet jeśli jest również obecny w httpd.conf. Sprawdź również, czy plik .htaccess jest czytelny dla procesu httpd.
Sprawdź error_log - poinformuje Cię o błędach w pliku .htaccess, jeśli jest używany. Umieszczenie celowego błędu składniowego w .htaccess jest dobrym sprawdzeniem, czy plik jest używany - powinieneś otrzymać błąd 500 na dowolnej stronie w tym samym katalogu.
Na koniec możesz włączyć przepisywanie dziennika za pomocą poleceń, takich jak poniższe w pliku httpd.conf:
RewriteLog „logs / rewritelog”
RewriteLogLevel 7
Wygenerowany w ten sposób plik dziennika zawiera krwawe szczegóły dotyczące dopasowanych reguł przepisywania i sposobu ich obsługi.
LogLevel alert rewrite:trace7
. Po ponownym uruchomieniu Apache powinieneś zobaczyć ślady w error.log Mam nadzieję, że to pomoże. http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#loggingNie :
źródło
Z dokumentacji Apache: Najczęściej problem polega na tym, że AllowOverride nie jest ustawione w taki sposób, że dyrektywy konfiguracyjne są honorowane. Upewnij się, że dla danego zakresu pliku nie obowiązuje opcja AllowOverride None. Dobrym testem jest umieszczenie śmieci w pliku .htaccess i ponowne załadowanie. Jeśli błąd serwera nie jest generowany, prawie na pewno obowiązuje opcja AllowOverride None.
źródło
Tylko jeśli nie dodałeś modułu mod_rewrite do Apache.
Musisz ponownie uruchomić Apache tylko wtedy, gdy zmienisz jakiekolwiek pliki Apache „.conf”.
źródło
Mam ten sam problem i wydaje się, że post PiedPiper o AllowOverride był najbardziej pomocny. Sprawdź plik httpd.conf pod kątem „AllowOverride” i upewnij się, że jest ustawiony na All.
źródło
W przypadku .htaccess restart nie jest wymagany, jeśli nie działa, prawdopodobne przyczyny obejmują.
AllowOverride Nie można ustawić, którego użytkownika można ustawić w pliku httpd.conf lub może być konieczne skontaktowanie się z administratorem serwera.
Sprawdź nazwę pliku .htaccess, powinna to być .htaccess, a nie htaccess.txt. Tutaj znajdziesz poradnik, jak go utworzyć.
Spróbuj użyć prostej dyrektywy
Options -Indexes
lubdeny all
czegoś w rodzaju prostej dyrektywy, aby sprawdzić, czy działa, czy nie.czyść pamięć podręczną przeglądarki za każdym razem, jeśli masz regułę dla przekierowań lub podobną, jeśli poprzednie przekierowanie jest buforowane, wygląda na to, że coś nie działa.
źródło
Co jest w twoim .htaccess? RewriteRules? Sprawdź, czy mod_rewrite jest zainstalowany i włączony.
Inne rzeczy? Spróbuj ustawić AllowOverride na „all” w tym katalogu.
źródło