Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Zdeněk Pavlátka:

Ahoj všichni. V .htaccess se opravdu nevyznám a potřeboval bych, aby se css soubory přesměrovali na určitý php soubor a ten pak odeslal vygenerovaný / upravený CSS soubor.

Potřeboval bych poradit s tím přesměrováním a jak v php odeslat "hotový" soubor.

Odpovědět 9.8.2014 18:22
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Ori
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Ori:

A čo tak mať php súbor, ktorý podla parametrov načíta potrebné CSSká zlepí ich dokopy, minimalizuje ich a prehliadač dostane iba jeden súbor? Optimalizuješ si tým počet requestov pri načítaní stránky.

 
Nahoru Odpovědět 9.8.2014 19:05
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ori
Zdeněk Pavlátka:

Já potřebuju hlavně vědět, jak ten soubor pak poslat prohlížeči. A samozřejmě jak ten php kód na zpracování spustit.

Nahoru Odpovědět 9.8.2014 19:11
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Martin Konečný (pavelco1998):

Nejde mít ten soubor v PHP, ve kterém nastavíš hlavičkou, že se jedná o CSS?

 
Nahoru Odpovědět  +1 9.8.2014 19:21
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Zdeněk Pavlátka:

To by mohlo fungovat, vyzkouším to. A nevíš, jak přesměrovat na ten php soubor?

Nahoru Odpovědět 9.8.2014 19:25
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Tonda Kozák:

Můžeš napsat do HTML stránky:

<link rel="stylesheet" href="styl.php" type="text/css">

V souboru styl.php budeš mít skript, který bude generovat css kód. Tento soubor budeš odesílat s hlavičkou text/css.

 
Nahoru Odpovědět  +1 9.8.2014 19:27
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Tonda Kozák
Zdeněk Pavlátka:

To by šlo, ale já nechci mít href="styl.php", ale prostě href="styl.css". Soubor je potřeba jen upravit.

A jak se hlavičce nastavuje text/css?

Nahoru Odpovědět 9.8.2014 19:33
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

niečo ako

header("Content-type: text/css");

vraj ale u IE nefunguje, preto treba použiť nejaký X-Content-Type-Options: nosniff header, pravdepodobne takto nejako:

header("Content-Type: text/css"); header("X-Content-Type-Options: nosniff");

zdroj: http://stackoverflow.com/…-shows-up-as

Editováno 9.8.2014 19:45
Nahoru Odpovědět  +1 9.8.2014 19:42
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:

A není to jedno, jestli to bude mít koncovku php, nebo css?

V PHP se to dělá:

header("Content-Type: text/css");
 
Nahoru Odpovědět 9.8.2014 19:42
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Tonda Kozák
Zdeněk Pavlátka:

Není. Možná to budu potřebovat i na jiné přípony a rozhodně nechci mít všude jen .php . Přes .htaccess to určitě jde, jen se v něm málokdo vyzná...

Nahoru Odpovědět 9.8.2014 19:45
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Tonda Kozák
Matúš Petrofčík:

možno nechce aby iní vedeli, že mu to generuje php :)

Nahoru Odpovědět  +1 9.8.2014 19:46
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:

Taky jeden z mnoha důvodů. Mít všechny odkazy na stránce s .php je trochu zvláštní.

Nahoru Odpovědět  +1 9.8.2014 19:49
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

Ešte ma napadla šialená myšlienka :D

V tutoriáloch o PHP sme si nastavovali .html šablonu ako .phtml, a v .htaccess sme nastavili aby sa táto prípona .phtml správala ako klasické .php (a taktiež aby sa nezobrazoval kod php ak by niekto zobrazil tú šablonu)

AddType application/x-httpd-php .php .phtml

čo keby si si takto nastavil .css súbory aby sa správali podobne? pokiaľ tam bude len css kód tak sa to bude stále správať ako css kod, ale môžeš tam pridať php kód ktorý by sa mal vykonávať + samozrejme bolo by vhod odoslať tú hlavičku

AddType application/x-httpd-php .php .css
Nahoru Odpovědět  -1 9.8.2014 19:51
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Jan Němec
Člen
Avatar
Jan Němec:

Není lepší si daný jiz sestaveny CSS soubor zacachovat a pri sestavení stránky tam jen linknout soubor, nazev muze byt ulozen treba v DB u dané stránky? Timto zpusobem, se bude muset sestavovat CSS soubor pri kazdem zobrazeni.

Nahoru Odpovědět 9.8.2014 19:54
Co si nadrobíš, to si sežereš.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:

PHP bude jen v jednom souboru (+ možná nějaké třídy v dalším, ale to není podstatné). Dostane CSS, upraví ho a odešle.

Myslel jsem něco takového:

http://www.itnetwork.cz/…er-kontroler

Je tam pravidlo pro přesměrování věcí na index.php, já bych potřeboval přesměrovat CSS na (něco).php . Název php souboru ještě nemám.

Nahoru Odpovědět 9.8.2014 19:57
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Martin Konečný (pavelco1998):

Tak s tím ti bohužel neporadím. S htaccess také bojuji (a neúspěšně, vždycky se musím někoho zeptat) :(

 
Nahoru Odpovědět  +1 9.8.2014 19:58
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Jan Němec
Zdeněk Pavlátka:

Ano, ale bude se sestavovat v závislosti na různých věcech (optimalizace a prefixy pro prohlížeče apod.)

Nahoru Odpovědět 9.8.2014 20:01
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

napadlo ma niečo takéto ešte, len neviem či je tá podmienka správna, do toho sa nerozumiem, takže len nápad

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^\.(css)$ css-generator.php [L]
RewriteRule !\.(js|ico|gif|jpg|png)$ index.php [L]

a ten súbor by teda vygeneroval čo má vypísať, poslal by tú hlavičku a potom vyechoval toto čo vygeneroval

mkub by možno vedel :)

Editováno 9.8.2014 20:12
Nahoru Odpovědět  +1 9.8.2014 20:11
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

prefixy pre prehliadače? no to len nájdi u css referencií či daná vlastnosť má aj prefixové (testovacie) verzie, a tie len pridaj do css-ka a nič daľšie nerieš, len nech je ako posledná v poradí tá ktorá má byť finálna (napr. -moz-border-radius, ..... a ako poslednú border-radius)

aby staršie verzie IE rozumeli html kodu, pridaj js https://code.google.com/p/html5shiv/ a ten IE naučí (js modernizr ho obsahuje v sebe)

Nahoru Odpovědět 9.8.2014 20:18
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:

To je jen jedna z mnoha věcí, dal jsem jí jen jako příklad. Je to jedna z nejméně důležitých, ty hlavní moc nechci prozrazovat.

Nahoru Odpovědět  +1 9.8.2014 20:25
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Nahoru Odpovědět 9.8.2014 20:26
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

ono to funguje? lebo ja netuším ani čo tie [L] znamenajú :D :D
každopádne dnes sa idem naučiť niečo o apache :)

Nahoru Odpovědět 9.8.2014 20:28
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:

Já tomu taky nerozumím :D Ale vypadá to pěkně :P

Nahoru Odpovědět 9.8.2014 20:29
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:

takže asi bez toho znaku ^

RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule \.(css)$ css-generator.php [L]
 RewriteRule !\.(js|ico|gif|jpg|png)$ index.php [L]

veľmi dobrý zdroj ohľadom Apachu a mod_rewrite je tu: http://www.sindelka.cz/…mod-rewrite/ ;)

Nahoru Odpovědět 9.8.2014 20:42
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:

Kupříkladu kód v podobě

RewriteEngine On
RewriteRule \.gif$ b.html

říká, že budeme používat mod_rewrite (první řádek) a že všechny požadavky na soubory gif (požadavky končící na ".gif") na našem serveru, budou přesměrovány na soubor b.html.

Tohle je na tej stránce napsaný - mělo by to bejt přesně to co potřebuju a je to tak primitivní :O

Nahoru Odpovědět  +1 9.8.2014 20:57
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Matúš Petrofčík
Šéfredaktor
Avatar
Nahoru Odpovědět 9.8.2014 21:00
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Ori
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Ori:

style.php používa veľa veľkých a známych aplikácii. Napadá ma napríklad phpBB fórum vo verzii 3. To či ti ťahá CSSko z *.php *.css je úplne fuk(ak v phpčku nastavíš správne hlavičky). Čiže mať "odkazy" na CSSka s .php nieje vôbec zvláštne, len nikde sa nehovorí o tom že sa to dá a aké to ma výhody.

Napríklad niektoré IDE ti htaccess súbory neparsujú, takže môže zle odkazovať na súbory poprípade odkazovať na neexistujúce, to ti niekedy môže liest poriadne na nervy. Ver mi že tým rewritom na takúto zbytočnosť si len strpčíš život, zvlášť keď budeš vyvíjať niečo väčšie a rozhodneš sa použiť tento blud iba kvôli tomu že je to "krajšie" a že ťa nik na tú nezmyselnosť neupozornil.

PS: robíš web pre užívateľov, im je úplne fuk či je .php, .css, .troll, ... Ide o to aby si sa v tom vyznal ty a aby tvoje IDE nemalo problém tomu porozumieť. A samozrejme aby si nerobil zbytočné veci :D

 
Nahoru Odpovědět 9.8.2014 21:13
Avatar
Odpovídá na Ori
Michal Žůrek (misaz):

já myslím, že spoustě dobrých IDE uděláš bordel v tom když do link rel=stylesheet dáš PHP soubor. Pokud má v účelu soubor minimalizovat přijde mi na místě použít htdocs a přesměrovat (podvrhnout, prohlížeč se to nemusí dozvědět) styly na PHP soubor, který jej zpracuje.

Nahoru Odpovědět  +1 9.8.2014 21:19
Nesnáším {}, proto se jim vyhýbám.
Avatar
Ori
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
Ori:

Mne hlavne šlo o to aby vedel, že .php nieje zlo a používajú ho aj veĺké aplikácie. Dokonca keď ešte facebook nebol tak rozsiahly a nemal takú návštevnosť používal to isté.

Každopádne je to hlavne na ňom s čím sa mu dobre robí, môj názor neber za svätú pravdu. Je to len môj názor, ktorý som si po pár rokoch vývoja vypracoval :D.

 
Nahoru Odpovědět 9.8.2014 21:35
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Ori
Zdeněk Pavlátka:

Jenže takhle bych musel mít php kód u každého css souboru. Já chci mít kód na jednom místě a jen mu zadávat soubory.

Nahoru Odpovědět 9.8.2014 21:37
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Ori
Michal Žůrek (misaz):

jo je to názor, php je prostě script, ne styl, pokud je možnost nekombinoval bych to. velké projekty jako třeba tebou zmíněné phpBB (facebook zrovna ani tak ne) to mají protože jsou nasazované na různé servery a na spoustě serverů je htaccess zakázaný, proto to dělají mírně "prasáčtějští" metodou.

Nahoru Odpovědět  +1 9.8.2014 21:39
Nesnáším {}, proto se jim vyhýbám.
Avatar
CZechBoY
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
CZechBoY:
<link href="styl.min.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="mujskript.min.js"></script>
RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule (.+?)\.min\.(css|js)$ minifikator.php?soubor=$1&type=$2 [QSA,L]

By mohlo fungovat snad

 
Nahoru Odpovědět 22.8.2014 0:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 32 zpráv z 32.