Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przepisanie które powinno zadziałać tylko raz.
szagi3891
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Tak jak w temacie. Potrzebuje zrobić przepisanie które uruchomi się tylko raz. Chcę sobie zrobić coś na zasadzie serwerów wirtualnych lecz takich których nie trzeba konfigurować. Htaccess w zależności od tego jaka jest domena ma sam przekierować wywołanie do odpowiedniego katalogu.
A przekierowanie ma uruchomić się tylko raz dlatego że nie chcę aby mi się moduł rewrite zapętlił, czego efektem jest pojawianie się błędu 500.

RewriteCond %{ENV:skip} !yes
RewriteRule (.*) /sites/%{SERVER_NAME}/public/$1 [E=skip:yes]

Stworzyłem coś takiego jak powyżej. Ale coś jest nie tak bo za każdym razem dostaję błąd 500. Konstrukcja jest na tyle prosta że chyba ciężko by tu było coś zepsuć. Nasuwa się może komuś pomysł co w tych dwóch linijkach jest źle ? Bądź ewentualnie ma ktoś lepszy pomysł jak zmusić moduł rewrite żeby to przepisanie odbyło się wyłącznie tylko raz ?
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie lepiej to skonfigurować przez <virtualhost>...? Możesz przecież użyć maski.
Go to the top of the page
+Quote Post
szagi3891
post
Post #3





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Nie. Musiałbym mieć dostęp do httpd.conf którego nie mam. Pozostaje htaccess.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No to przecież wystarczy zrobić tak, jak w wirtualnym PH: http://eriz.pcinside.pl/weblog/mod_rewrite...ac-208.html#t61

Tylko sprawdzasz HTTP_HOST, bez żadnych środowiskowych, a każdy VHost ma swój htaccess.
Go to the top of the page
+Quote Post
szagi3891
post
Post #5





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Tylko że ja chcę zrobić rozwiązanie uniwersalne. Nie chcę dopisywać przy każdym nowym hoście oraz każdej nowej domenie kolejnych wpisów w pliku htaccess ani także nie chcę tworzyć żadnych nowych plików. Dodanie nowej domeny ma się odbywać na zasadzie utworzenia tylko nowego katalogu.

/glowny/domena1.pl
/glowny/domena2.pl
/glowny/domena3.pl

Wszystkie te domeny domena1.pl, domena2.pl, domena3.pl są skierowane na katalog główny "glowny". Potrzebuje teraz wykonać tylko raz przekierowanie na określony podkatalog w zależności od server_name. Z wiadomych powodów to przekierowanie ma być wyłącznie tylko raz wykonane.

@erix - Przestań mówić ogólnikami oraz przeczytaj treść mojego tematu. Mnie interesuje wyłącznie ten konkretny przypadek, czyli jak zrobić żeby rewriterule wykonało się wyłącznie raz. RewriteCound i sprawdzenie warunków jakoś dziwnie działa (albo raczej nie działa).
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
RewriteCound i sprawdzenie warunków jakoś dziwnie działa (albo raczej nie działa).

Dobrze działa, tylko trzeba odpowiednio regułki skonfigurować.

A Ty zacznij działać i próbuj coś, a nie tylko narzekasz, jakby Ci ktoś jeszcze łaskę robił, że w ogóle odpisuje. Mogę i ja przestać, proszę bardzo, ale zbytniego zainteresowania tematem chyba nie ma, więc zabierz się do roboty, a nie narzekasz.

Co do uniwersalności - będzie uniwersalne, gdyż podpinasz wszystkie domeny pod jeden katalog, a gdybyś uważnie przeczytał moją zalinkowaną notkę, byś wiedział, że zmienne testowane w wyrażeniach z RewriteCond można wykorzystywać również w RewriteRule.
Go to the top of the page
+Quote Post
szagi3891
post
Post #7





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Rozwaliłeś mnie całkiem z tym narzekaniem (IMG:style_emoticons/default/smile.gif) Plus dla Ciebie (IMG:style_emoticons/default/winksmiley.jpg) Cieszę się że ktoś mi odpisał, ale to nie to czego poszukuję no ale Ty myślisz że to to (IMG:style_emoticons/default/biggrin.gif)

Poszukuję sposobu aby zmusić ten moduł do tego aby konkretne przepisanie wykonało się tylko raz.

Nie 10 razy, tworząc mi pod drodze adres typu :

/glowny/domena1.pl/glowny/domena1.pl/glowny/domena1.pl/glowny/domena1.pl....../glowny/domena1.pl/obrazek.jpg
i wyrzucając w efekcie że został osiągnięty limit maksymalnej ilości przepisań i oczywiście pojawianie się błędu 500 :/

Znajdując sposób na wykonanie tylko jednego przepisania, umożliwiłoby tworzenie całkiem ciekawych htaccessów. Nic to, szukam dalej.

Ps. A propo Twojej strony, bardzo ciekawe spojrzenie na filozofię frameworków z którym się zgadzam (IMG:style_emoticons/default/smile.gif)

Ten post edytował szagi3891 17.08.2009, 22:35:39
Go to the top of the page
+Quote Post
ShadowD
post
Post #8





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

Ostrzeżenie: (0%)
-----


Ja mam to napisane coś w ten sposób:

RewriteCond %{HTTP_HOST} ^www.([a-z0-9]*).pl$ [NC]
RewriteCond %{REQUEST_URI} !^/users/.*/www/$ [NC]
RewriteRule ^(.*)$ /users/%1/www/$1 [L]

Nie wiem czy działa, na szybko edytowałem by dopasować do potrzeb.
Go to the top of the page
+Quote Post
szagi3891
post
Post #9





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

Ostrzeżenie: (0%)
-----


Pomysł naprawdę dobry. Tak też chyba zrobię w ostateczności.

Jest jeden minus takiego rozwiązania. W tym wypadku jeśli utworzę sobie jakąś domenę (domek.pl) czyli że utworzę sobie katalog /users/domek.pl/www/ to przykładowo odwołanie które przyjdzie :
domek.pl/users/mieszkanie.pl/www/ nie zostanie przekierowane. Czyli to żądanie zostanie potraktowane jak gdyby ktoś odwołał się do katalogu głównego domeny mieszkanie.pl

No i właśnie przed tą sytuacją chciałbym się ustrzec.

Ten post edytował szagi3891 19.08.2009, 17:17:37
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:34