Strona 1 z 1

Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 21 lis 2011, 23:43
autor: kampo
Witam.

Męcze się i męcze, już powoli szlag mnie trafia. Apache w ogóle nie chce reagować na zmiane regułek. Takie jakie kiedyś tam wklepałem jakby sie zcachowaly i nie chciały odświeżyć. Nowe, które dopisuję też nie chcą działać.

Mam zanstalowany serwer na swoim komputerze i najprostsza regułka:

Kod: Zaznacz cały

RewriteRule ^blog$ blog.php [L]
działa tylko u mnie, bo jak przeniose strone na host, nagle przestaje (inne, które były wcześniej, oczywiście działają).

Próbowałem zmieniać nazwe pliku htaccess, odświeżyć strone, zmienić spowrotem na poprawną nazwe, ale nic to nie daje. Szukałem coś o cachowanie tego pliku przez apache, ale niczego się nie doszukałem. Nie mam innego pomysłu, przez co może się to dziać. Jest jakiś sposób, żeby KAŻDĄ zmianę pliku serwer widział i zastosował?

Pozdrawiam.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 10:19
autor: Ubek308
Regula nie dziala gdy pattern nie pasuje.

Zaloze sie ze nie masz takiej strony jak 'blog'.
Co najmniej masz 'http://blog.pl' albo wewnatrz serwera - '/blog/'

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 20:26
autor: kampo
Zaloze sie ze nie masz takiej strony jak 'blog'.
No to przegrany zakład.
działa tylko u mnie, bo jak przeniose strone na host, nagle przestaje (inne, które były wcześniej, oczywiście działają).
Co tu jest niezrozumiałe?

Plus
Męcze się i męcze, już powoli szlag mnie trafia
wskazuje, że jednak próbowałem to naprawić, plus to, że w takiej regułce nie można zrobić błędu ;) Dodam jeszcze, że przy błędzie, pierwsze co robię, to sprawdzam literówki, kombinuje z innymi rozwiązaniami, szukam w internecie i dopiero jak nie znajde, to pisze na forum. Ale to nieważne. Ważne jest to, że nie działa (nie "odświeża się"?) i nie mam pojęcia dlaczego.

Pozdrawiam.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 20:44
autor: ethanak
Może głupie pytanie... ale czy ten plik na pewno nazywa się "htaccess"?

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 21:03
autor: kampo
Czy Wy macie mnie za kretyna?Pytam serio... :)

Zacytuje jeszcze raz
działa tylko u mnie, bo jak przeniose strone na host, nagle przestaje (inne, które były wcześniej, oczywiście działają).
O prosze, nawet jest jeszcze taki kawałek:
Próbowałem zmieniać nazwe pliku htaccess, odświeżyć strone, zmienić spowrotem na poprawną nazwe, ale nic to nie daje.
Pozdrawiam.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 21:12
autor: ethanak
Nie mamy Cię za kretyna. Pytałem poważnie: czy ten plik nazywa się "htaccess"?
A podstawy do takiego pytania mam akurat po przeczytaniu powyższych cytowanych cytatów ;)

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 21:15
autor: kampo
Gdyby tak było, wtedy napisałbym, że żadna regułka nie działa, a jakieś działają :) A z tą zmianą to tylko końcówke dodałem, żeby go "zgubił", a potem wczytał od nowa, z nowymi regułkami, no ale nie podziałało. U mnie na komputerze też niezawsze odświeżał regułki, więc nie wiem od czego to zależy.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 21:22
autor: ethanak
A ja znałem takie głupie przypadki hostingów, gdzie użytkownik nie miał dostępu przez ftp do ukrytych plików, a zamiast ".htaccess" wgrywało się "htaccess" przy czym hosting robił z nim jakąś magię i w rzeczywistości lądowały tam dwa pliki htaccess i .htaccess.
Dlatego grzecznie pytałem (a Ty oczywiście nie raczyłeś udzielić odpowiedzi) czy plik nazywa się "htaccess" czy może jakoś inaczej (np. ".htaccess").

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 22 lis 2011, 21:25
autor: kampo
Nazywa się dokładnie .htaccess,a dostęp do niego na pewno mam.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 23 lis 2011, 07:47
autor: kabanek
to pokaż ten plik :) łatwiej będzie znaleźć przyczynę błędu

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 23 lis 2011, 17:24
autor: kampo

Kod: Zaznacz cały

RewriteEngine on
RewriteBase /strona

# Podstawa
RewriteRule ^portfolio$ index.php [L]
RewriteRule ^blog$ blog.php [L]
RewriteRule ^kontakt$ contact.php [L]
RewriteRule ^mapa$ siteMap.php [L]
RewriteRule ^regulamin$ rules.php [L]
Tak on wygląda. Są jeszcze inne regułki, ale zakomentowane i sa na samym dole, więc wpływu na to nie mają. I tak jak pisałem: na moim komputerze ładnie działa, a na serwerze nie (kiedyś nie było tej linijki, dodałem potem tylko tą, ale on tego nie wyłapał i za nic nie chce działać). Jak widać, nic ciężkiego tutaj nie ma, nawet nie można popełnić błędu.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 23 lis 2011, 19:48
autor: nycko
skasuj/zakomentuj

Kod: Zaznacz cały

RewriteBase /strona
na localu przestanie działać, ale może na hostingu ruszy[/size]
sorry nie doczytałem, że wsio inne działa, głupio "zaśmieciłem" temat

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 24 lis 2011, 10:56
autor: Ubek308
Jest jeszcze inny potencjalny powod choc wątpie zeby to bylo to.
Twoj hosting serwer po prostu nie pozwala na rewrite.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 24 lis 2011, 16:43
autor: ethanak
Jeszcze inny (pewnie głupi i od dawna nieaktualny, ale wszystko możliwe)
Na hostingu jest Apache 1.3 a nie 2.x (wymagany wiodący slash przy RewriteRule, pamiętam że kiedyś przy tym mało nie osiwiałem jak przenosiłem serwis z 1.3 na 2.0)
Na rybkę: spróbuj testowo usunąć wiodący ^ z RewriteRule, może pomoże?

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 24 lis 2011, 19:54
autor: kampo
Może inaczej...chyba źle formułuję zdania (z tego nigdy nie byłem dobry ;)).

U mnie na komputerze działa dosłownie wszystko, z blogiem włącznie, jednak chciałem sobie zrobić też przyjazne linki dla stron bloga, postów itd., ale nowe regułki nie działają. Jakby się nie odświeżało.
To samo na serwerze. Były sobie jakieś tam regułki, które działają normalnie (wersje Apache mam 2.x - z phpinfo() wyświetla "Server API - Apache 2.0 Handler", czyli teoretycznie serwer ma wersje conajmniej 2, ale nie wiem czy to to). Potem, jak już zrobiłem skrypt bloga na moim komputerze, przeniosłem wszystko na serwer (zmieniła się tylko baza, ale to nieistotne, kod strony i plik htaccess). Kod strony na pewno ładnie hula, ale do blogu muszę się dostać przez "PHPowaty" link, bo przekierowanie nie chce działać.
Próbowałem też zrobić to, co zaproponował ethanak, ale i tak nie działa. Wygląda na to, że ten plik htaccess sie gdzieś zcacheował, bo "dżiliard" sposobów na naprawe tego nie poskutkowało. Kombinowałem chyba ze wszystkim i już nie mam pomysłów.

Jak nie będzie sposobu na to, to trudno. Będą normalne linki tylko przy blogu. Ale dobrze by było do tego dojść, co go "boli", bo troche by to też dziwnie wyglądało ;)

Pozdrawiam.

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 25 lis 2011, 22:34
autor: rob006
Akurat czy się gdzieś magicznie nie skeszował jest dość łatwo sprawdzić - wystarczy zepsuć htaccess - wpisać do niego coś głupiego. :D Powinna wyskoczyć wtedy 500.
Poza tym w takich beznadziejnych sytuacjach gdzie działający kod nie działa, warto jeszcze raz przepisać z palca polecenia i zbadać nazwy plików - ja raz kilka godzin straciłem na rozkminianiu czemu skrypt nie działa, żeby w końcu zauważyć różnicę pomiędzy "I" a "l"...

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 26 lis 2011, 11:09
autor: kampo
Spróbowałem popsuć go 2x. Ładnie wyświetlał błąd 500 na każdej podstronie. Potem cofałem zmiany, zapisywałem, on spowrotem przekierowywał tak jak wcześniej, ale przekierowanie do blogu...nie działało, więc to chyba nie jest cache. Literówki na pewno nigdzie nie ma, bo przecież u mnie by nie działało, zresztą sprawdzałem w razie czego i nie ma.

Strasznie uparty jest :( Macie jakieś inne pomysły?

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 26 lis 2011, 11:40
autor: ethanak
Jedyne co mi przychodzi do głowy to błąd w RewriteBase (akurat tu możesz mieć inaczej w domu i i na serwerze).
Nie powinno być "/" zamiast "/strona" przypadkiem?
Tak se gdybam...

Re: Apache nie reaguje na zmiany reguł mod_rewrite w htaccess

: 26 lis 2011, 16:19
autor: kampo
Nie, to też nie to. Na komputerze i serwerze mam tak samo.

No nic, narazie zrobię zwykły link, ale temat niech zostanie. Może ja, albo ktoś inny wpadnie na rozwiązanie, to się podzieli :)

Dzięki wszystkim za pomoc.

Pozdrawiam.

-- 31 gru 2011 00:27 --

Odświeżam temat, ponieważ znowu zacząłem się nad tym głowić. Zrobiłem coś, czego chyba nie robiłem wcześniej, czyli zamiast przepisywać ^blog$, przepisalem ^blogg$ do pliku blog.php i...działa! Dodałem inne regułki i też działają.

Nie wiem, czy coś da ta informacja, ale jest to ciekawe moim zdaniem. Czemu działa wszystko, tylko nie "blog"?

Pozdrawiam.