Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite i subdomeny - jak przekazac wiecej parametrow?
Forum PHP.pl > Forum > Serwery WWW
lbt
Witam,
Próbuję napisać .htaccess tak, żeby każdy użytkownik tworzący bloga miał go w adresie uzytkownik.adres.com .
W sieci jest mnóstwo gotowych rozwiązań, ale kończą się na pokazaniu jak przekierować uzytkownik.adres.com na adres.com/plik.php?u=uzytkownik .
np.
Cytat
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?adres.com
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.adres.com
RewriteRule ^(.*)$ /uzytkownik.php?userid=%2

Chciałbym do tego dodać jeszcze kilka parametrów dodawanych po adresie np. uzytkownik.adres.com/pl/wpis/12 ale nie mam już pomysłu jak się za to zabrać.
Wiele rzeczy próbowałem, stworzyłem jakieś htaccessowe potworki (żaden nie działał), ale czegoś w tym nie łapię.
Wielkie dzięki za pomoc
Pozdrowienia
B
erix
Jeśli chodzi o parametry z adresu po sleszu, to zamiast procentu wstawiaj dolara, np. $1 w Twoim przypadku.
lbt
W tej chwili mam:
Kod
</div>[code]<div class="codemain">RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?adres.com
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.adres.com
RewriteRule ^([a-z]*)/([0-9]*)$ /uzytkownik.php?userid=%2&jezyk=$1&id=$2 [L,NC]
RewriteRule .* /uzytkownik.php?userid=%2&jezyk=pl [NC]</div>

i w takiej postaci nie przekazuje userid. Przy wywołaniu z innym kodem języka i tak jest pl, więc wchodzi reguła druga.

Jak zamienię reguły miejscami to wchodzi zawsze ta pierwsza (to raczej oczywiste, ale wolałem sprawdzić, zanim znów napiszę).
Co tu jest nie tak??
Wielkie dzięki za pomoc
erix
Cytat
Przy wywołaniu z innym kodem języka i tak jest pl, więc wchodzi reguła druga.

Chyba nie czytałeś dokumentacji. tongue.gif Blok RewriteCond działa dla najbliższej reguły RewriteRule.
lbt
Dzięki za odpowiedź
Jak wpiszę przed drugą regułę te same warunki:
Kod
RewriteEngine On
  RewriteCond %{HTTP_HOST} !^(www\.)?adres.com
  RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.adres.com
  RewriteRule ^([a-z]*)/([0-9]*)$ /uzytkownik.php?userid=%2&jezyk=$1&id=$2 [L,NC]
RewriteCond %{HTTP_HOST} !^(www\.)?adres.com
  RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.adres.com
  RewriteRule .* /uzytkownik.php?userid=%2&jezyk=pl [NC]

to też nie działa... Wygląda na to, że zawsze wchodzi reguła druga.
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-2025 Invision Power Services, Inc.