Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie mogę skonfigurować modułu rewrite.c dla Apache
Forum PHP.pl > Forum > Serwery WWW > Apache
tomi0001


Chcę się trochę pobawić modułem rewrite.c na Apachu więc go pomyślnie załadowałem

Więc taki kod nie daje komunikatu błędu

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so



Ale taki już daje



RewriteEngine On
RewriteBase /

Taki daje błąd

* Restarting web server apache2 [fail]
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 123 of /etc/apache2/apache2.conf:
RewriteBase: only valid in per-directory config files
Action 'configtest' failed.
The Apache error log may have more information.

Uzywam następującej wersji Apacha Apache/2.4.7

Moja dystrybucja to linux Mint 17.2
Pyton_000
Na prawdę masz aż takie problemy z czytaniem?

Cytat
* Restarting web server apache2 [fail]
* The apache2 configtest failed.
Output of config test was:
AH00526: Syntax error on line 123 of /etc/apache2/apache2.conf:
RewriteBase: only valid in per-directory config files
Action 'configtest' failed.
The Apache error log may have more information.
tomi0001
Cytat(Pyton_000 @ 4.12.2015, 10:42:44 ) *
Na prawdę masz aż takie problemy z czytaniem?


Nie znam dobrze angielskiego. Czyli z tego mogę wywnioskować, że trzeba edytować jeszcze inne pliki np. w katalogu witryny np. .htacces . a to trochę dziwnę bo w książcę mówili o tym pliku.
Pyton_000
Rewrte base tylko w .htaccess
tomi0001
Dzięki teraz działa, ale teraz nam inny problem nie wiem jak daną regułę zmienić aby wychwytywała mi pliki tylko w katalogu ajax np. taka

RewriteRule ^(\w+)/(\w+)/?$ /ajax/index.php?i=$2&j=$1 [N]

działa dobrze, ale jak będzie inny katalog niż ajax to też tą regułę zastosuję próbowałem coś takiego

RewriteRule ^ajax/(\w+)/(\w+)/?$ index.php?i=$2&j=$1 [N]

Ale nie chcę działać.

Ten akurat problem już rozwiązałem potrzebowałem takiego zapisu.

RewriteRule ^ajax/(\w+)/(\w+)/?$ /ajax/index.php?i=$2&j=$1 [N]
Pyton_000
Gratuluję rozwiązania wink.gif (PS. Nie to nie sarkazm tongue.gif )
Damonsson
Mamy XXI wiek, ludzie latają w kosmos, klonuje się zwierzęta, wyszedł PHP 7, a Ty używasz Apache? Poważnie? sciana.gif
vokiel
Cytat(Damonsson @ 8.12.2015, 17:58:16 ) *
Mamy XXI wiek, ludzie latają w kosmos, klonuje się zwierzęta, wyszedł PHP 7, a Ty używasz Apache? Poważnie? sciana.gif


Tak na poważnie, co jest nie tak z Apache?
Damonsson
Nie chciałbym rozpętać wojny w stylu nginx vs apache. Ale sto lat używam nginx, a ostatnio zmuszony byłem używać Apache i tak mi zadziałał na nerwy, że wszędzie hejtuje jak widzę nazwę Apache, aczkolwiek uważam, że konstruktywnie.

- nie da się prosto po ludzku w 5 sekund zmusić go do działania z php-fpm
- konieczność włączania jakichś modułów typu mod_rewrite jeśli chce mieć przyjazne linki
- konieczność tworzenia dodatkowych plików .htaccess
- kiedy zdarzy się jakaś sytuacja w której skrypt php dostanie timeout/zje ram/ zje procesor, koniecznością jest restart usługi apache (jeśli nie chce się czekać pewnie z xx minut na odmulenie, mi nigdy nie starczyło cierpliwości, żeby czekać i restartowałem usługę), Nginx rzuci najwyżej bad gateway i śmiga sobie po 3 sekundach dalej jakby nikt mu krzywdy nie zrobił.
- szybkość działania, widoczna gołym okiem, nie trzeba żadnych benchmarków
vokiel
Cytat
Ale sto lat używam nginx, a ostatnio zmuszony byłem używać Apache i tak mi zadziałał na nerwy, że wszędzie hejtuje jak widzę nazwę Apache, aczkolwiek uważam, że konstruktywnie.

Hejtowanie zwykle nie jest konstruktywne, a już na pewno obiektywne biggrin.gif
Skoro ciągle używasz jednego rozwiązania to nic dziwnego, że miałeś problemy z innym. Podobnie mają ci co używają Apache i muszą coś zrobić z Nginx czy Lighttpd.

Cytat
- nie da się prosto po ludzku w 5 sekund zmusić go do działania z php-fpm

Serio to tak dużo? 6 linijek pliku conf, dwie komendy: a2enmod i a2enconf restart. Może rzeczywiście nie 5 sekund, ale serwera www nie konfiguruje się codziennie, można poświęcić na to minutę.

Cytat
- konieczność włączania jakichś modułów typu mod_rewrite jeśli chce mieć przyjazne linki

Ale jeśli nie chcesz przyjaznych linków to nie musisz mieć włączonych dziesiątek modułów. To jest IMHO zaleta, Apache jest bardzo konfigurowalny, modułowy. Dzięki temu bez problemu pożenisz go z Perlem, Pythonem, Ruby itd.

Cytat
- konieczność tworzenia dodatkowych plików .htaccess

Wszystko zależy od tego czy na prawdę potrzebujesz .htaccess. Poza tym, masz możliwość skonfigurować każdy projekt a nawet każdy katalog inaczej.
Rzeczywiście byłoby wygodnie, gdyby podstawowy .htaccess z przekierowaniem na index.php był w zestawie z mod_rewrite. Ale nawet jak go nie ma, to podstawowa reguła przepisania na index.php jest bardzo łatwa i bez problemu można przygotować sobie gotowca.

Cytat
- kiedy zdarzy się jakaś sytuacja w której skrypt php dostanie timeout/zje ram/ zje procesor, koniecznością jest restart usługi apache (jeśli nie chce się czekać pewnie z xx minut na odmulenie, mi nigdy nie starczyło cierpliwości, żeby czekać i restartowałem usługę), Nginx rzuci najwyżej bad gateway i śmiga sobie po 3 sekundach dalej jakby nikt mu krzywdy nie zrobił.

Chyba tylko z mod_php, bo z php-fpm działa na tej samej zasadzie co Nginx.

Cytat
- szybkość działania, widoczna gołym okiem, nie trzeba żadnych benchmarków

Sorry, ale w XXI wieku, w IT wszystko da się zmierzyć i ocena szybkości gołym okiem trochę nie przystoi profesjonaliście. Raczej nie jesteś w stanie odróżnić 20ms od 10ms gołym okiem - a jest to 50% różnicy.
Są dziesiątki benchmarków, które pokazują jak zachowują się poszczególne serwery w różnych konfiguracjach. I nie trzeba być hejterm Apache, żeby stwierdzić, że jest wolniejszy serwując statyczny content, przy tym zużywa więcej pamięci. Ale już przy dynamicznym różnic takich nie ma, zwłaszcza przy Apache 2.4.


Podsumowując, wszystko zależy od potrzeb. Oba rozwiązania mają swoje plusy i minusy, trzeba je znać i wybierać najlepsze rozwiązania do potrzeb, nie ma sensu zamykać się na inne rozwiązania.

I ciekawy link na koniec https://dracony.org/stop-using-php-fpm-to-a...ginx-vs-apache/
Damonsson
Jest konstruktywne i obiektywne, bo są konkretne różnice przemawiające IMHO za nginix. A nie hejtuję sobie, bo tak i koniec.

Co do zawieszania się usługi, rzeczywiście chodzi o mod_php, nie testowałem php-fpm, bo trzeba go skonfigurować wink.gif

Teoretycznie apache ma być modułowy. Praktycznie jak go ograniczysz do minimum i tak jest cięższy i wolniejszy od nginx.

Na oko, miałem na myśli podpięcie jakiegoś quick-starta z Symfony w trybie debug i czas generowania strony, to się po prostu rzuca w oczy. Benchmarki są tak miażdżące dla apache w każdej sensownej konfiguracji, że nawet nie poruszałem tego wątku.

Aczkolwiek fajna dyskusja się wywiązała i są argumenty za Apache, gdyby ktoś rozważał wybór smile.gif
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-2024 Invision Power Services, Inc.