chyba pri nacitani CSS a JS (basePath, baseUri)

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

Ahoj,

zkousim si hrat s nette a narazil jsem na jeden problem… Mam hlavni sablonu, kde vypisuji hlavicku webu (titulek, css, js).. v sablone to mam takto:

<link rel="stylesheet" media="screen,projection,tv" href="{$basePath}/css/screen.css" type="text/css">

zkousel jsem i toto:

<link rel="stylesheet" media="screen,projection,tv" href="{$baseUri}/css/screen.css" type="text/css">

a problem je v tom, ze kdyz na webu vejdu do nejake sekce, tak se mi url adresa „pretvori“ na tuto:
mujweb.cz/nejaka-sekce/
a tudiz odkaz na css soubor je takovyto:

<link rel="stylesheet" media="screen,projection,tv" href="mujweb.cz/nejaka-sekce/css/screen.css" type="text/css">

kdyz jsem na homepage (v url neni zadna dalsi sekce), tak mi to css nacte… takoveto problemy jsem drive mival s nastavenim .htaccess, tak ho sem pridavam k nahlednuti (RewriteBase / musim mit odkomentovane.. jinak mi to na servru hazi 500):

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

# disable directory listing
Options -Indexes

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

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ 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>

# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
<IfModule mod_include.c>
	<FilesMatch "\.combined\.(js|css)$">
		Options +Includes
		SetOutputFilter INCLUDES
	</FilesMatch>
</IfModule>

zajimave je, ze mi na locale funguje vse tak jak ma.

Nerad bych to resil „hackem“ kdy bych do sablony posilal nejakou novou promenou, ve ktere by byla url meho webu… takove reseni asi vhodne neni

Poradite nekdo prosim?

Editoval tomasnikl (18. 8. 2011 22:13)

Filip Procházka
Moderator | 4668
+
0
-

Už párkrát se objevil problém s nestandardním hostingem. Je možné, že tam mají něco divně nastaveno. Ty $base proměnné obsahují vždy i část té adresy co tam nepatří? Dyštak pošli výpis z $_SERVER

joe
Člen | 313
+
0
-

Pokud máš v .htaccess RewriteBase / a máš ho umístěný v document root (tedy tam, kde je vstupní stránka – třeba index.php), tak tím nastavuješ právě document root jako výchozí adresář. Potom tedy žádná proměnná není potřeba a mělo by stačit

<link rel="stylesheet" media="screen,projection,tv" href="/css/screen.css" type="text/css">

Editoval joe (19. 8. 2011 9:37)

Filip Procházka
Moderator | 4668
+
0
-

@**joe**: To je nepěkné a připravuje se o dynamičnost a přenositelnost.

tomasnikl
Člen | 137
+
0
-

Ahoj, ok zasilam informace:

  • hosting je to od Angel hosting (zasahy do konfigurace jsem neprovadel)
  • web je umisten v root/home/domeny/mojedomena.cz/web/subdomeny/nazev_subdomeny (/index.php)

a jeste vypis $_SERVER:
http://nette-test.tomasnikl.cz/

pokud nekdo hostujete u Angela, mozna pomuzete :o)