Autor Zpráva
SteveO
Profil *
Zdravím, mám root a v něm složky:

/subdomena1/ pro subdomena1.web.cz
/subdomena2/ pro subdomena2.web.cz
/www/ pro www.web.cz

Otázkou je, jak to udělat, aby tam subdomény nemuselo fyzicky být.
Jinak řečeno, pokud v prohlížeči uživatel zadá adresu neco.web.cz/sekce/podsekce/, potřebuju, aby se mu zobrazilo www.web.cz/index.php?subdomena=neco&url=sekce/podsekce/.
Avšak ne přesměrováním, ale podstrčením, adresa musí zůstat stejná.
Už fakt nevím, vyzkoušel jsem desítky různých pravidel. Soubor .htaccess mám v rootu, další je pak ve www (podstrkává www.web.cz/sekce/ na index.php?subdomena=www&url=sekce/).
Díky!
candiess
Profil
Pravidlo je:
([a-zA-Z]+)\.domena.\cz www/index.php?subdom=$1 [QSA]

Zkus to, jsem na mobilu takze to nemuzu vyzkouset, kdyby ne tak se na to zitra mrknu :)
goumbik!
Profil *
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?p1=$1 [L,QSA]
#www.domena.com/parametr/
Kajman
Profil
Ono je hodně důležité, jak je nakonfigurovaný server a jak zpracovává požadavky.

Když zadáte nějakou subdoménu, ke které neexistuje nachystaný adresář, tak se stane co?

Když dáte na stejnou úroveň k adresářům www, subdomena1 a subdomena2 nějaký testovací .htaccess, tak se provede při požadavku na jakoukoliv subdomenénu? Nebo už tam nějaký .htaccess vytvořený je?
SteveO
Profil *
Při zadání subdomény, ke které není adresář se objeví E404.
Když dám na stejnou úroveň .htaccess, tak s pravidlem od candiess to hlásí rovněž E404, s mým zápisem dokonce E500:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^([a-z]*)\.domena\.cz(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) www/index.php?subdomena=$1&url=$2 [L]

Jinak .htaccess i v této "nezvyklé" úrovni složek povolený je, Kajmanem odkazovaný testovací soubor mě přesměroval na JPW.
Kajman
Profil
500 by mohlo značit syntaktickou chybu nebo zacyklení - více asi prozradí error log, případně rewrite log.

I když tato pravidla by se sama o sobě cyklit neměla. Je možné přidat pro jistotu
RewriteCond %{ENV:REDIRECT_STATUS} ^$

A na tom pátém řádku má být
RewriteRule (.*) www/index.php?subdomena=%1&url=$1 [L]

Takhle ale půjde asi vše na index.php, i pro obrázky atp.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: