Skocz do zawartości

Subdomeny .htaccess


accurs

Rekomendowane odpowiedzi

Chcę zrobić dynamiczne subdomeny, mam takie coś:

RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$

RewriteRule ^([a-z0-9\-]+).html$ index.%1.php?zmienna=$1 [L] (działa)

RewriteRule ^([a-z0-9\-]+),([a-z0-9\-]+).html$ index.%1.php?zmienna=$1&zmienna=$2 [L] (tutaj już nie wchodzi host w %1)

Czy jest to w ogolę możliwe aby druga RewriteRule działała?

RewriteCond chyba działa do pierwszej [L]

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko jest jedno małe ale ;) Do subdomen definiowanych w mod rewrite potrzebny jest działający wildcard *.domena.pl dla danej domeny inaczej nic z tego :)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie spotkałem się z takim zapisem index.%1.php

Poza tym co chcesz właściwie zrobić z tych subdomen - obsługiwać je na osobnych katalogach czy na zasadzie wildcardu na katalogu głównym ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie spotkałem się z takim zapisem index.%1.php

Poza tym co chcesz właściwie zrobić z tych subdomen - obsługiwać je na osobnych katalogach czy na zasadzie wildcardu na katalogu głównym ?

RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$

RewriteRule ^([a-z0-9\-]+).html$ index.%1.php?zmienna=$1 [L]

Dotąd działa mi dobrze!:)! to poniżej już nie...

RewriteRule ^([a-z0-9\-]+),([a-z0-9\-]+).html$ index.%1.php?zmienna=$1&zmienna=$2 [L]

eh, w %1 jest wpisywane to co jest przed .domena.pl

czyli np: test.domena.pl skierowane jest w tym przypadku na index.test.php

tak, to działa, ale już w drugiej regułce RewriteRule nie wpisuje

mi w %1 (nazwy hostu) chociaż w pierwszej to robi.

Poza tym, nie chce obsługiwać subdomen na osobnych katalogach ale na plikach

i nie chce tego robić przez główny plik index.php, bo to mało wydajne.

Odnośnik do komentarza
Udostępnij na innych stronach

To dopisz jeszcze raz RewriteCond :)

RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$
RewriteRule ^([a-z0-9\-]+).html$ index.%1.php?zmienna=$1 [L]
RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$
RewriteRule ^([a-z0-9\-]+),([a-z0-9\-]+).html$ index.%1.php?zmienna=$1&zmienna=$2 [L]

Nie znam się na pozycjonowaniu, ja tu tylko zużywam transfer i miejsce w sql.

Roman Kluska ujawnia: nadchodzi INFLACYJNY ARMAGEDON!

 

Odnośnik do komentarza
Udostępnij na innych stronach

@mi w %1 (nazwy hostu) chociaż w pierwszej to robi.

Wiec tyle ile będzie nazw hostów musi być plików index.nazwa_hosta.php co mija się całkowicie z ideą wildcardu.

@i nie chce tego robić przez główny plik index.php, bo to mało wydajne.

Ciekawa kwestia, pod jakim względem jest to wedlug ciebie mało wydajne ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

To dopisz jeszcze raz RewriteCond ;)
RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$
RewriteRule ^([a-z0-9\-]+).html$ index.%1.php?zmienna=$1 [L]
RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$
RewriteRule ^([a-z0-9\-]+),([a-z0-9\-]+).html$ index.%1.php?zmienna=$1&zmienna=$2 [L]

nie działa, chyba że zrobię to w ten sposób:

[code]RewriteCond %{HTTP_HOST} ^subdomena1.domena.pl?$
RewriteRule ^([a-z0-9\-]+).html$ index.subdomena1.php?zmienna=$1 [L]

RewriteCond %{HTTP_HOST} ^subdomena1.domena.pl?$
RewriteRule ^([a-z0-9\-]+),([a-z0-9\-]+).html$ index.subdomena1.php?zmienna=$1&zmienna=$2 [L]

myślałem że można to zrobić optymalnie :)

Ciekawa kwestia, pod jakim względem jest to wedlug ciebie mało wydajne ?

Bo do każdej subdomeny mam osobny plik, co mam w index.php odczytać HTTP_HOST przez wyrażenia regularne i dać include?

Gdybym tak chciał zrobić, nie zakładał bym tematu....

Odnośnik do komentarza
Udostępnij na innych stronach

odczytać HTTP_HOST przez wyrażenia regularne i dać include?
To jest twoja koncepcja. Takie podejście index.subdomena1.php do zagadnienia nie ma sensu, ale to już twój problem...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Takie podejście index.subdomena1.php do zagadnienia nie ma sensu, ale to już twój problem...

Nie wiem dlaczego się czepiasz, pierw piszesz że wildcard ma być włączony

skoro pisze, że pierwsza reguła działa to chyba jasne jest że wildcard włączony?

nie spotkałeś się z %1 to chyba nie masz nic wspólnego z mod_rewrite a udzielasz się w temacie.

RewriteCond %{HTTP_HOST} !^www.domena.pl$

RewriteCond %{HTTP_HOST} ^(www\.)?(.+).domena.pl$

RewriteRule ^$ subdomain/%2/ [L]

chcę to uprościć, zamiast wskazywać na katalog to na plik:

RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$

RewriteRule ^$ index.%1.php [L]

pliki subdomen na serwerze to np:

wp.domena.pl odpowiada index.wp.php

onet.domena.pl odpowiada index.onet.php

dotąd wszystko mi działa.........................

ale problem się pojawia gdy parametr %1 chce mieć w kolejnej lini np:

RewriteCond %{HTTP_HOST} ^(.*).domena.pl?$

RewriteRule ^$ index.%1.php [L]

tutaj już mi nie wstawia "1%" -> RewriteRule ^([a-z0-9\-]+).html$ index.%1.php?zmienna=$1 [L]

Odnośnik do komentarza
Udostępnij na innych stronach

nie spotkałeś się z %1 to chyba nie masz nic wspólnego z mod_rewrite a udzielasz się w temacie.
Po pierwsze to się nie czepiam tylko staram się zrozumieć sens bezsensownych działań.

Po drugie nie spotkałem się z % przy tworzeniem subdomen, bo nie stosuje kombinacji jak "koń pod górkę". Poza tym idea wildcardu jest taka, że wszystkie żądania subdomenowe są obsługiwane przez jeden plik domyślnie będzie to plik index.php w katalogu głównym(oczywiście można to ustawić). Jestem ciekaw jak tym sposobem będziesz obsługiwał więcej subdomen, a co za tym idzie oddzielnych serwisów. Chtba, że cały "serwis" to jeden plik

Subdomeny tworzy się po to by mieć czytelny podział na katalogi jakie obsługują, lub wildcard dla typowo "wirtualnych" subdomen często stosowanych w serwisach społecznościowych.

__ EOT __

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Polecam ten temat: https://forum.webhelp.pl/viewtopic.php?t=210210

Sam trochę zmodyfikowałem reguły i śmigają aż miło, tylko się z nich uczyć :)

Nie mam pojęcia dlaczemu wyleciały i mają filtera Polskie znaki w adresach Joomla od nowa napisane, czytelnie i logicznie. Dylemat adres z www czy bez? Powinno to rozwiać wszelkie wątpliwości.

Naprawiam kodowanie [krzaki, chińskie znaki, polskie znaki] dowiedz się także czymże jest kodowanie znaków bo to podstawa.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności