Subdomény – co přesně do subdomény?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Michalek
Člen | 211
+
0
-

Zdravím, jak se routují subdomény, to jsem našel v pohodě. Jenom jsem se nikde nedozvěděl, jak z té subdomény do nette :-)

root

  • blog (.example.com)
  • chat (.example.com)
  • www (.example.com)
    • app
    • libs
    • index.php (require APP_DIR . '/bootstrap.php';)
  1. Co mám dát do adresářů blog a chat tak, aby se to skrytě „přesměrovalo“ do www, kde běží celý projekt s nastavenými routami pro všechny subdomény a dělalo to to co chci?
  2. Případně lze routovat i subdomény, pro které nemám vytvořený adresář?

Díky :)

PS: To, že app a libs by teoreticky měly být jinde vím, tohle je jen příklad.

Editoval Michalek (7. 11. 2009 22:33)

edke
Člen | 198
+
0
-

Michalek wrote:

Zdravím, jak se routují subdomény, to jsem našel v pohodě. Jenom jsem se nikde nedozvěděl, jak z té subdomény do nette :-)

root

  • blog (.example.com)
  • chat (.example.com)
  • www (.example.com)
    • app
    • libs
    • index.php (require APP_DIR . '/bootstrap.php';)
  1. Co mám dát do adresářů blog a chat tak, aby se to skrytě „přesměrovalo“ do www, kde běží celý projekt s nastavenými routami pro všechny subdomény a dělalo to to co chci?
  2. Případně lze routovat i subdomény, pro které nemám vytvořený adresář?

Díky :)

PS: To, že app a libs by teoreticky měly být jinde vím, tohle je jen příklad.

Myslim ze idealne by bolo, keby si vsetky 3 domeny (blog, chat aj www) smeroval do toho isteho document_rootu. Len ci ti to tvoj hosting povoluje.

Tomik
Nette Evangelist | 485
+
0
-

Nebo např. přesměrování pomocí .htaccess na tu doménu, která požadavky zpracovává…

Michalek
Člen | 211
+
0
-

Směrování přes .htaccess nebylo úspěšné, buď jsem skončil na 404 nebo 500.

Se směrováním do stejného document_rootu asi problém nebude, je to vlastní server, na co se mám ptát? ServerAlias, DocumentRoot nebo tak? Díky :)

JakubKohout
Člen | 92
+
0
-

máš vytvořenou pro každou subdoménu vlastní VirtualHost že ? Jinak by si neměl takovouhle strukturu složek.
Máš tedy dvě varianty, buď u každého VirtualHostu nastavíš documentroot do složky s www. Nebo u VirtualHostu WWW nastavíš ServerAlias na *.example.com a ostatní virtualhosty smažeš.

Filip Procházka
Moderator | 4668
+
0
-

Co takhle? :)

<VirtualHost *:80>
  ServerName www.kdyby.org
  ServerAlias kdyby.org *.kdyby.org
  DocumentRoot /home/hosiplan/www/org/kdyby
</VirtualHost>
Michalek
Člen | 211
+
0
-

Děkuji, poptám se.

Pro budoucí generace: Pokud někdo nemá možnost nastavit zmíněné výše, dá se udělat každá subdoména fyzicky, nacpat do ní

.htaccess

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d

	# presmerovani na nette
	RewriteRule !\.(cur|php|html|avi|swf|mpg|mp3|pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php
</IfModule>

a soubor index.php

<?php
define('WWW_DIR', dirname(__FILE__) . '/../www/');
define('APP_DIR', WWW_DIR . '/!!_app');
define('LIBS_DIR', WWW_DIR . '/!!_libs');
require APP_DIR . '/bootstrap.php';

To zajistí, že se nette bude načítat z „www“ a všechno bude relativně fungovat :)

Jakub Nerad
Člen | 21
+
0
-

Michalek napsal(a):

Děkuji, poptám se.

Pro budoucí generace: Pokud někdo nemá možnost nastavit zmíněné výše, dá se udělat každá subdoména fyzicky, nacpat do ní

.htaccess

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d

	# presmerovani na nette
	RewriteRule !\.(cur|php|html|avi|swf|mpg|mp3|pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php
</IfModule>

a soubor index.php

<?php
define('WWW_DIR', dirname(__FILE__) . '/../www/');
define('APP_DIR', WWW_DIR . '/!!_app');
define('LIBS_DIR', WWW_DIR . '/!!_libs');
require APP_DIR . '/bootstrap.php';

To zajistí, že se nette bude načítat z „www“ a všechno bude relativně fungovat :)

Funguje dobře až na linkování stylů apod. … Nějaké řešení?

Michalek
Člen | 211
+
0
-

Na styly odkazuju absolutní url. http://www.example.com/css/styl.css

Honza Kuchař
Člen | 1662
+
0
-

Michalek napsal(a):

Na styly odkazuju absolutní url. http://www.example.com/css/styl.css

Velmi hezky je to řešeno v @layout.phtml ve Skeletonu.