Autor Zpráva
hunter_dave
Profil
Zdravím, mám problém s nastavením subdomén přes mod_rewrite na localhostu. Na webhostingu vše běhá jak má, ale na localhostu prohlížeč zoobrazí, že požadovaná stránka neexistuje (nejedná se o chybu 404 na serveru - zobrazuje to prohlížeč).
# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

Mělo by to podstrčit : "cokoliv.localhost" -> "localhost/subdom/cokoliv"
v htaccess se moc nevyznám, ale na webhostingu to funguje, může mi někdo vysvětlit proč? .. mod_rewrite i htaccess na localhostu beha
Davex
Profil
1) Je správně vyplněný soubor hosts (v Linuxu /etc/hosts, ve Windows \windows\system32\drivers\etc\hosts), aby si počítač dokázal přeložit jméno cokoliv.localhost na IP adresu 127.0.0.1?

2) Regulární výraz ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ vyžaduje dvě povinné tečky ve jméně domény a zadávaš jméno jen s jednou tečkou.

3) Předpokladem k fungování pravidel je zapnutí RewriteEngine On
hunter_dave
Profil
1) v hostu mám 127.0.0.1 localhost - chci za "cokoliv" dosadit cokoliv co je ve slozce subdom .. takze v hostu by to být nemělo.

2) Ano toho jsem si všiml zapoměl jsem to přepsat tady ... jinak je to přepsané

3) To tam je také jinak by to hodilo chybu 500 ne?

Trochu si nejsem jistý co napsat do souboru host .. je tam potřeba dodat taky regularni vyraz?
DJ Miky
Profil
Je nutné tam uvést všechny subdomény, které chceš směrovat na 127.0.0.1. Regulárním výrazem to nejde. Pokud se ti to nechce psát a pořád upravovat/přidávat, můžeš se podívat třeba sem.
hunter_dave
Profil
Díky moc .. přesně to jsem hledal .. taky me stve ze do hosts se neda napsat (.*).localhost 127.0.0.1

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0