Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: Libor Šedivý 11 Února 2013, 15:30:58

Název: Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: Libor Šedivý 11 Února 2013, 15:30:58
Dobrý den,

předem se omlouvám za asi začátečnický dotaz (takové nesnáším, ale co naplat). Tvorbou webů se zabývám již nějaký ten pátek a tak jsem se samozřejmě při vývoji dostal i k hezkým url. Doteď jsem zadal vždy http://localhost/nazevdomeny.cz (adresář se soubory je ve /var/www/nazevdomeny.cz/ ) a pohoda. Jenže nyní používám na serveru mod_rewrite. Doteď jsem ho používal u pár projektů, takže mi stačilo, že to funguje na serveru, nicméně nyní bych hezké url rád zapracoval i do redakčního systému a vše předem pořádně otestoval. Mým cílem je, abych neustále nemusel zasahovat do konfiguráků a pro každý projekt zbytečně složitě zadávat DocumentRoot a také, abych měl jednotný .htaccess pro localhost i ostré nasazení. Je to hodně velká utopie? Nainstaloval jsem si modul pro vhosts, ale nedaří se mi to nakonfigurovat. Co bych tedy potřeboval?

V htacces mám např.:

Kód: [Vybrat]
RewriteRule ^o\-nas /index.php?content=article&id=134&group=175&lng=czech [nc,L]
Pokud tedy zadám http://localhost/domena.cz/něco, tak by se měl zobrazit obsah výše zmíněné adresy. Problém je ale v tom, že DocumentRoot je na /var/www/ o úroveň výše, a proto se mi zobrazí chybové hlášení. Pokud do RewriteRule přidám před lomítko název domény, vše funguje bez problémů.

Vím, že jsem líný, ale dělat to všechno ručně pro desítky webů by mě asi nebavilo.

Díky za správné nasměrování, pokud víte. ;)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: Libor Šedivý 11 Února 2013, 16:58:09
Tak částečně můj problém vyřešilo vynechání lomítka před adresou, ale stejně to pořád nefunguje přesně tak, jak bych chtěl. Například odkaz "/" mě odkáže na root localhostu. Ale s tím si asi už dokáži poradit... I tak - kdyby někdo věděl. ;)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: starenka 12 Února 2013, 00:32:56
- rucne? man sed
- jinak vetsinou (pokud tedy nepouzivas jazyk/framework, kterej resi tohle za tebe) je dobry si spis udelat virtualhosty a pak to mit v postate stejny na lokalu (napr. projekt.lo vs projekt.cz) a nemusis tohle resit
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: Libor Šedivý 12 Února 2013, 11:45:33
Sed neznám. Někdy se na něj podívám. Hledám rychlé funkční řešení, abych se mohl soustředit na vývoj, který mě živí. ;) Ale už jsem to vyřešil částečně změnou těch adres, takže virtualhosty nemusím nutně zavádět. Já vím, je to o úpravě 2 souborů v systému + restart apache, ale i tak mi to jednoduše přijde zbytečné pro localhost. ;) Nemít desítky projektů, je mi to fuk.

Tu druhou část odpovědi jsem asi nepochopil - nevím, o jazyku, který by mi sám založil virtualhost pro podadresář rootu Apache. Jinak dělám v PHP, jelikož je hodně rozšířeno a hosting s ním je za rozumnou cenu. Frameworky moc nepoužívám, vývoj většiny z nich je nejistý. Jsou ale vyjímky, které používám, ne ale na základ mého redakčního systému.

Každopádně díky za reakci. ;)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: starenka 12 Února 2013, 11:53:06
ad sed: sed nebo cokoliv jinyho ti pekne masove nahradi ve vsech souborech
ad htaccess: kazdej rozumnej framework ma routovani a nespolejha na rucne psany rewrity - proste je vsechno smerovany na jednu adresu a url se dynamicky routujou podle route tabulky, cili vubec nemusis resit domeny a muze ti to bezet treba na 127.0.0.1 a porad stejne jako na serveru. Nehlede na to, ze kazdej slusnej fw (napr. Django, Flask, Rails) ma dev server, kterej si spustis a nginx/apache neresis. V php 5.4 tusim neco takovyho takyu uz pridali. Nehlede na to, ze i ty vhosty se daji delat dynamicky (napr. http://blog.evan.pro/how-to-set-up-dynamic-virtual-hosts-for-web-development)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: Libor Šedivý 12 Února 2013, 13:53:10
Díky za nasměrování. Bez úspěchu to řeším již 2 dny. Google mi neposkytl dostatečnou odpověď. Můžete mi ještě dát typ na nějaký ten framework případně? Děkuji. ;)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: starenka 12 Února 2013, 13:55:42
Ja delam v Pythonu, takze napr. Django nebo Flask. Co se tyce PHP tak Symfony, Kohana, Zend nebo Nette (ktery je cesky a ma tady velkou zakladnu uzivatelu - bejt tebou, zkusim treba ten)
Název: Re:Rozdílný DocumentRoot pro podadresáře na localhostu
Přispěvatel: Libor Šedivý 15 Února 2013, 11:56:37
Díky za typ, o Nette přemýšlím už déle.