Inštalácia na produkčný server

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

Srdečný pozdrav zo Slovenska,
a k veci: nahodil som sandbox na verejný server ale urobil som to zle. V adrese vidieť zložku www. Server má ako verejný adresár „public“. Tam som to celé skopíroval. Ja asi tuším v čom je problém ale potrebovql by som trochu nakopnúť. Vie mi tú logiku s cestami a adresármi niekto stručne vysvetliť? Ďakujem.

Matey
Člen | 142
+
0
-

čiže máš nahodený projekt v zložke public, asi takto áno?

public/
	app/
	log/
	temp/
	vendor/
	www/
	.htaccess

na stránku sa potom dostaneš cez http://domena.tld/www/
a teda do .htaccess dáš

RewriteEngine On

RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.tld$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.tld$
RewriteRule (.*) www/$1 [L]

prípadne ak je možnosť smerovať domenu priamo na hostingu tak ju presmeruj na /public/www

Čamo
Člen | 798
+
0
-

Nefunguje mi to. Ono správne by sa mala pri nasadení zrejme prepísať zložka www, ale takú nemám.
V tom public adresáry mám takýto .htaccess:

# Apache configuration file (see httpd.apache.org/docs/current/mod/quickreference.html)

# disable directory listing
<IfModule mod_autoindex.c>
	Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
	# RewriteBase /

	# prevents files starting with dot to be viewed by browser
	RewriteRule /\.|^\. - [F]

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ www/index.php [L]

</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

Čiže všetko čo nieje css,js atď ide do www/index.php. Lenže tie adresy s www zrejme generuje router.

Editoval Čamo (21. 6. 2014 13:56)

MartinitCZ
Člen | 580
+
0
-

Tenhle .htaccess má být ve složce www a né public.
Do složky public dej .htaccess s obsahem:

RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteRule (.*) www/$1 [L]
Čamo
Člen | 798
+
0
-

Ok dal som ten môj htaccess do zložky www a do zložky public som dal htaccess

RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteRule (.*) www/$1 [L]

Ale server vyhadzuje chybu. V logu nič nieje tak neviem, čo sa deje.

MartinitCZ
Člen | 580
+
0
-

Žádný „můj“ .htaccess do www složky, ale ten originální Nette!!
Chybu vyhazuje uričtě 500, jelikož si se v .htaccess ve složce www hrabal. ;)

Editoval martinit (21. 6. 2014 14:34)

Čamo
Člen | 798
+
0
-

No to, že som sa v .htaccess hrabal ešte neznamená, že to má hádzať errory.
Skopíroval som to tam tak ako to bolo(aspoň myslím).
Ak vieš prečo to tú chybu hádže, tak by bolo dobré keby si mi to prezradil ak to neraní tvoje city.

Čamo
Člen | 798
+
0
-

Ospravedlňujem sa ak som bol hrubý.
Tak som ešte doplnil
RewriteRule ^$ www/index.php [L]
a zmazal to čo som pobabral v origináli a zdá sa, že to funguje.
Takže ďakujem.

Čamo
Člen | 798
+
+1
-

Ja milujem tento mod_rewrite.
Teraz som zmazal ten riadok čo som akože pred tým tak zdokonalil(lebo som mal dojem, že je to to isté ako ten druhý riadok)a funguje to aj bez neho.
Asi už viem čo si idem preštudovať aby som to zase nezabudol.