Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: .htaccess a zpracování žádosti o CSS soubor v PHP

Aktivity
Avatar
Zdeněk Pavlátka:9.8.2014 18:22

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 I
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Ori I:9.8.2014 19:05

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
Odpovídá na Ori I
Zdeněk Pavlátka:9.8.2014 19:11

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):9.8.2014 19:21

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

Nahoru Odpovědět
9.8.2014 19:21
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Zdeněk Pavlátka:9.8.2014 19:25

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:9.8.2014 19:27

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
9.8.2014 19:27
Avatar
Odpovídá na Tonda Kozák
Zdeněk Pavlátka:9.8.2014 19:33

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
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:9.8.2014 19:42

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
9.8.2014 19:42
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:9.8.2014 19:42

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
Odpovídá na Tonda Kozák
Zdeněk Pavlátka:9.8.2014 19:45

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
Odpovídá na Tonda Kozák
Matúš Petrofčík:9.8.2014 19:46

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

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

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

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

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
9.8.2014 19:51
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Jan Němec
Člen
Avatar
Jan Němec:9.8.2014 19:54

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
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:9.8.2014 19:57

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):9.8.2014 19:58

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
9.8.2014 19:58
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Jan Němec
Zdeněk Pavlátka:9.8.2014 20:01

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
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:9.8.2014 20:11

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
9.8.2014 20:11
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:9.8.2014 20:18

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
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:9.8.2014 20:25

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
9.8.2014 20:25
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Nahoru Odpovědět
9.8.2014 20:26
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:9.8.2014 20:28

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
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:9.8.2014 20:29

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
Odpovídá na Zdeněk Pavlátka
Matúš Petrofčík:9.8.2014 20:42

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
Odpovídá na Matúš Petrofčík
Zdeněk Pavlátka:9.8.2014 20:57

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
9.8.2014 20:57
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Nahoru Odpovědět
9.8.2014 21:00
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Ori I
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
Ori I:9.8.2014 21:13

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 I
Michal Žůrek - misaz:9.8.2014 21:19

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
9.8.2014 21:19
Avatar
Ori I
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Ori I:9.8.2014 21:35

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
Odpovídá na Ori I
Zdeněk Pavlátka:9.8.2014 21:37

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 I
Michal Žůrek - misaz:9.8.2014 21:39

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
9.8.2014 21:39
Avatar
adaam
Člen
Avatar
Odpovídá na Zdeněk Pavlátka
adaam:22.8.2014 0:37
<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.