chyba pri nacitani CSS a JS (basePath, baseUri)
- tomasnikl
- Člen | 137
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
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
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
@**joe**: To je nepěkné a připravuje se o dynamičnost a přenositelnost.
- tomasnikl
- Člen | 137
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)