Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> .htaccess, Subdomeny i przyjazne URLe
pawlikwn
post 21.02.2010, 20:56:27
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 3.10.2008

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


Hej

Otóż w mojej stronie używam subdomen. Chciałbym połączyć przekierowanie subdomen i przyjazde urle w poniższy sposób:


http://xxx.domena.pl/yyy.html
na
http://domena.pl/index.php?subdomain=xxx&display=yyy

Mój kod:
  1. # Przekierowanie subdomen
  2. RewriteCond %{HTTP_HOST} !^norewrite.domena.pl [NC]
  3. RewriteCond %{HTTP_HOST} ^(.*).domena.pl [NC,OR]
  4. RewriteCond %{REQUEST_URI} ^($|/.*$)[NC]
  5. RewriteRule ^(.*)$ index.php?subdomain=%1&display=%2
  6.  


Jeżeli podejrzę tablicę $_GET to zmienna subdomain ma odpowiednią wartość, natomiast display jest pusta.

Mam zatem pytanie. Jak dobrać się do zawartości drugiego nawiasu by przypisać go do zmiennej display ? Gdzie popełniam błąd questionmark.gif
Go to the top of the page
+Quote Post
erix
post 21.02.2010, 21:19:19
Post #2





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




A nie prościej podstawnik z dolarem? Przecież masz w RewriteRule, co trzeba. winksmiley.jpg

Jeśli chodzi, czemu nie wyświetla, to na moje oko coś nie tak jest z wyrażeniem regularnym. Ale użyj wartości z RewriteRule, nie ma sensu kombinować z RewriteCond, bo to będzie praktycznie to samo.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pawlikwn
post 21.02.2010, 21:40:59
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 3.10.2008

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


No właśnie coś nie działa. Po podstawieniu dolara i pobraniu wartości z Rewriterule " RewriteRule ^(.*)$ index.php?subdomain=%1&display=$1 " otrzymuję subdomain=xxx&display=index.php, co nie jest tym co mnie satysfakcjonuje.
A RewriteCond muszę użyć bo mam kilka domen, które muszę przekierować w inny sposób.



Ok, problem rozwiązałem.

Są 2 metody:

Albo przepisać RewriteCond tak, aby warunki były w jednej linii (wówczas będzie dostęp do każdej z grup) np.:
  1. rewritecond %{REQUEST_URI}<>%{HTTP_HOST} ^www\.([^.]+)\.example\.com[^<]*<>/images/([0-9]+) - nie do mojego przykładu ale tak ma to wyglącać. Znak "<>" służy do rozdzielenia zmiennych.


Albo pokombinować z RewriteRule
  1. # Przekierowanie subdomen
  2. RewriteCond %{HTTP_HOST} !^norewrite.domain.pl [NC]
  3. RewriteCond %{HTTP_HOST} ^(.*).domain.pl [NC,OR]
  4. RewriteRule ^([a-zA-Z0-9_]*)$ index.php?subdomain=%1&display=$1
  5.  


Ten post edytował pawlikwn 21.02.2010, 21:42:38
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 17:01