Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Mały kłopocik z modrewrite

Witam,

Dla zajadaczy rewrite'owskich regułek, pewnie to będzie pryszcz :-) Sam siedzę i kombinuję i szukam po necie, ale poprostu się z tym modułem chyba niezbyt lubimy :-)

Tłumacze, na czym polega problem...
Mam sobie subdomenki np.: ala.domena.pl, ela.domena.pl, itp.itd... Potrzebuje regułki, która zwróci mi coś takigo dla dowolnie wpisanej domeny:

index.php?imie=ala; index.php?imie=ela... itd.

To co mam obecnie, ale nie chodzi:

RewriteCond %{HTTP_HOST} ^(http://)?([^.]+).mojadomena.pl [NC]
RewriteCond %{REQUEST_FILENAME} !/mojadomena.pl/index.php?imie=$1 [NC]
RewriteRule ^(.*)$ /mojadomena.pl/index.php?imie=$1 [L]

Jak to poprawić, by było dobrze ??
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Mały kłopocik z modrewrite

REQUEST_FILENAME zmieniłbym na REQUEST_URI ale wątpię że to przyczyna niedziałania ;-)
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Mały kłopocik z modrewrite

Wojciech Sznapka:
REQUEST_FILENAME zmieniłbym na REQUEST_URI ale wątpię że to przyczyna niedziałania ;-)

Niestety to nie to, a po zmianie wogóle nie śmiga...

PS. ale gdy w katalogu domena1.pl dodam do .htaccess to samo, to zamiast nazwy subdomena, przekazuje mi nazwe pliku, w tym wypadku index.php

Może wytłumacze jak to jest w katalogach umiejscowione, więc:

jest sobie root / i tam mam katalogi

domena1.pl
domena2.pl
domena3.pl

domeny są zaparkowane na roocie, i w htaccess regółką:

RewriteCond %{HTTP_HOST} ^(http://)?domena1.pl [NC]
RewriteCond %{REQUEST_FILENAME} !/domena1.pl/ [NC]
RewriteRule ^(.*)$ /domena1.pl/$1 [L]

Pięknie przekierowuje domeny do poddomen. gdy dodam:

RewriteCond %{HTTP_HOST} ^(http://)?sub.domena1.pl [NC]
RewriteCond %{REQUEST_FILENAME} !/domena1.pl/sub/ [NC]
RewriteRule ^(.*)$ /domena1.pl/sub/$1 [L]

To subdomena sub.domena1.pl przekierowuje na odpowiedni katalog i śmiga (ale nie chcę ręcznie dodawać, tylko automatycznie by szukało).

To jest jedno z moim zdaniem chorych pomysłów home.pl, gdzie domena przypisana do danego katalogu, czyni go swoim root'em... dlatego jak co nie polecam u nich hostingu, jeżeli chcecie zależne pliki mieć :-)Grzegorz Miśkiewicz edytował(a) ten post dnia 10.06.08 o godzinie 00:20
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: Mały kłopocik z modrewrite

Grzegorz Miśkiewicz:
Witam,

Dla zajadaczy rewrite'owskich regułek, pewnie to będzie pryszcz :-) Sam siedzę i kombinuję i szukam po necie, ale poprostu się z tym modułem chyba niezbyt lubimy :-)

Tłumacze, na czym polega problem...
Mam sobie subdomenki np.: ala.domena.pl, ela.domena.pl, itp.itd... Potrzebuje regułki, która zwróci mi coś takigo dla dowolnie wpisanej domeny:

index.php?imie=ala; index.php?imie=ela... itd.

Może to Ci coś pomoże:

RewriteCond %{HTTP_HOST} ^(.*)\.domena.pl$
RewriteRule (.*) /index.php?sub=%1&request=%{REQUEST_URI}

Dla adresu:
http://abc.mojadomena.pl/?sdsad

print_r($_GET) da Ci:

Array
(
[sub] => abc
[request] => /?sdsad
)

Dla adresu:
http://bcd.mojadomena.pl/index.php?qwerty=zxcv

w $_GET masz:
Array
(
[sub] => bcd
[request] => /index.php?qwerty=zxcv
)

Oczywiście musisz mieć coś takiego dla domeny
*.mojadomena.pl CNAME 3600 mojadomena.pl
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Mały kłopocik z modrewrite

Witam, i to jest strzał w dziesiątkę :-) Dzięki bardzo za pomoc :-)

EDIT: No niestety, ta kombinacja też nie działa :-( Kombinuje całyczas na wiele sposobów, ale home jest niemiłosiernie wkurzajace z tym :/Grzegorz Miśkiewicz edytował(a) ten post dnia 10.06.08 o godzinie 19:11

konto usunięte

Temat: Mały kłopocik z modrewrite

Grzegorz Miśkiewicz:
...
Pięknie przekierowuje domeny do poddomen. gdy dodam:

RewriteCond %{HTTP_HOST} ^(http://)?sub.domena1.pl [NC]
RewriteCond %{REQUEST_FILENAME} !/domena1.pl/sub/ [NC]
RewriteRule ^(.*)$ /domena1.pl/sub/$1 [L]

RewriteCond %{HTTP_HOST} ^(http://)?(.*).domena1.pl [NC]
RewriteRule ^(.*)$ domena1.pl/%1/$1 [L]

Musisz zwrócić uwagę na różnice między Home.pl a oryginalnym mod_rewrite - ale generalnie ten zapis u mnie (na pache) zadziałał.

[edytowane]
Możesz oczywiście rozszerzyć to do wersji:

RewriteCond %{HTTP_HOST} ^(http://)?(.*).(.*).pl [NC]
RewriteRule ^(.*)$ %2/%1/$1 [L]

ale tego nie sprawdzałem...

Zwróć uwagę na różnice w regule pomiędzy $1 a %1 bo chyba tego Tobie brakowało do "pełni szczęścia".Robert B. edytował(a) ten post dnia 11.06.08 o godzinie 10:21
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Mały kłopocik z modrewrite

500 Internal Error
The server encountered an internal error and could not complete your request.

Pisze do home.pl, bo to jest kary godne, na innym serwerze śmiga aż miło :/
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: Mały kłopocik z modrewrite

Grzegorz Miśkiewicz:
500 Internal Error

Pewnie masz jakiś błąd lub musisz coś zmienić w htaccesie, mój przykład był testowany na home.

konto usunięte

Temat: Mały kłopocik z modrewrite

Grzegorz Miśkiewicz:
500 Internal Error

Zamiast
Robert B.:
...
RewriteRule ^(.*)$ domena1.pl/%1/$1 [L]
daj:
RewriteRule ^(.*)$ /domena1.pl/%1/$1 [L]

("/" przed "domena.pl)

Może tu jest problem. To właśnie mogą być te różnice, o których wspominałem.Robert B. edytował(a) ten post dnia 11.06.08 o godzinie 16:10
Grzegorz M.

Grzegorz M. www.avatec.pl

Temat: Mały kłopocik z modrewrite

Ani tak, ani tak... mam dość tego hostingu. Sklonuje pliki, i poprostu zrobie to jak każe home.pl :/

ps. A maila od nich, jak nie było - tak nie ma :P Super... o 13 wysłałem :D

edit: Czekam już będzie 3 dzień na odpowiedź. Czyżby ich zagieło to pytanie :-) Mam dosyć tej firmy :-)Grzegorz Miśkiewicz edytował(a) ten post dnia 13.06.08 o godzinie 23:25
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Mały kłopocik z modrewrite

I właśnie, czytam ten temat i podobne na forach w sieci... i zastanawia mnie czemu nie używać frameworków wspierających rewrite urli? Taka Symfony, czy Agavi, ma domyslnie wsparcie dla subdomen, w Zendzie można sobie bez problemu napisać własny router.

Ile problemów idzie wtedy w zapomnienie.

Jakie są największe zalety używania htaccessa do przepisywania adresów?

Przepraszam za offtop, ale jednak pasuje mi do tego tematu.

Pozdrawiam, AlanAlan B. edytował(a) ten post dnia 14.06.08 o godzinie 23:28

Temat: Mały kłopocik z modrewrite

a dlaczego wlasciwie nie zrobisz sobie:
$subdomain = NULL;
if( preg_match( '/^([^\.]+)\.domena\.pl/' , $_SERVER['HTTP_HOST'] , $m ) ) {
$subdomain = $m[1];
}

i chociazby pozniej:
$_GET['imie'] = $subdomain;

jesli juz musi byc w GET'cie ;)Michał Kluszewski edytował(a) ten post dnia 20.06.08 o godzinie 01:55

Temat: Mały kłopocik z modrewrite

tak poza tym z moich doswiadczen z home.pl - jak nie musisz to nie korzystaj ;)

Następna dyskusja:

mały laptop dla znajomej :)




Wyślij zaproszenie do