Generované CSS přes rewrite, funguje jen v IE – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Generované CSS přes rewrite, funguje jen v IE – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.comGenerované CSS přes rewrite, funguje jen v IE – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Aigor0
Newbie
21. 9. 2014   #1
-
0
-

Ahoj,

v jednom projektu potřebuju vytvářet specifickou grafiku + CSS podle vstupních parametrů. Řeším to on-line generováním CSS i PNG přes GD lib. V tom problém není.

Přes mod_rewrite se přepisují požadavky ze styl.css -> styl_css.php a obrazek.png -> obrazek_png.php
Potud vše OK, jednotlivé odkazy fungují, CSS i PNG se generují bez chyb.
Problém nastane ve chvíli, kdy CSS styl chci přilinkovat do XHTML dokumentu. Firefox, nebo Safari se tváří, jakoby CSS prostě neexistoval. V IE funguje normálně.
Vložený PNG obrázek také funguje bez problémů.

XHTML je ve Strict validní, CSS 2 validní. Když CSS otevřu prohlížečem samostatně, uložím a adresuju bez mod_rewrite, tak funguje normálně. Z toho usuzuju, že neplechu dělá někde samotné přesměrování, ale netuším, proč to vadí jen některým prohlížečům a jak to obejít...

Zkoušel jsem už zapnout/vypnout buffer v PHP, flush, kontrolovat hlavičky, chybový log serveru, asi stokrát zkontrolovat platnost odkazů a syntaxi, vymazat cache,.. sedím u toho už čtvrtý den a dochází mě nápady co s tím   

Nahlásit jako SPAM
IP: 46.149.119.–
ASM -> Pascal -> C -> C++ -> PHP/mySQL and now C# && .NET beginner..
Řešení
Kit+15
Guru
21. 9. 2014   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 Aigor
Problém se obvykle dá vyřešit správnými atributy v elementu link 

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

Pokud ti některý z atributů chybí, může to dělat neplechu.

V PHP pak pro CSS doporučuji použít hlavičku 

<?php
header("Content-Type: text/css;charset=UTF-8");

Znaková sada tam být nemusí, pokud v CSS používáš výhradně ASCII, což je běžné.

Doporučuji opustit XHTML (stejně ho asi nepoužíváš) a přesedlat na HTML5.

Ještě pro zajímavost: Pokud ten řádek v PHP nemáš a v IE to funguje, tak to má IE blbě, protože to fungovat nemá. Prohlížeč se totiž nemá řídit podle přípony, ale podle MIME v hlavičce získané z HTTP.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Aigor0
Newbie
21. 9. 2014   #3
-
0
-

OMG, já jsem trotl   

Link i hlavičky používám, jen místo text/css jsem chybně použil text/html.

Obvykle když se nad něčím sedí moc dlouho, člověk nevidí ty nejjednodušší chyby... Už to funguje - DÍKY   

PS: téma HTML5 je asi tady asi dost mimo, XHTML používám už dost dlouho zatím k plné spokojenosti. 5 se dlouho plánovala, vymýšlela a nakonec mám dojem, že je to taková slepená 4 se vším možným. Nevidím v tom aktuálně žádné výhody.

Nahlásit jako SPAM
IP: 46.149.119.–
ASM -> Pascal -> C -> C++ -> PHP/mySQL and now C# && .NET beginner..
Kit+15
Guru
21. 9. 2014   #4
-
0
-

#3 Aigor
Pokud máš v XHTML souborech hlavičku MIME "text/html", pak nepoužíváš XHTML, ale HTML neurčené verze. XHTML má MIME "application/xhtml+xml", viz http://www.w3.org/TR/xhtml-media-types/ . Vyzkoušej si to a pak raději přejdi na HTML5. Vyplatí se to.

Nejhloupější chyby se nejhůř hledají.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Aigor0
Newbie
21. 9. 2014   #5
-
0
-

v XHTML používám "application/xhtml+xml", jen u toho CSS protože generoval čistý text se mi zatoulala html hlavička.

Na to HTML5 mrknu

Nahlásit jako SPAM
IP: 46.149.119.–
ASM -> Pascal -> C -> C++ -> PHP/mySQL and now C# && .NET beginner..
Kit+15
Guru
21. 9. 2014   #6
-
0
-

#5 Aigor
Dokonce existuje i XHTML5. Zkoušel jsem to a funguje. Jen je nutné mít vše nastavené přesně, chyby se netolerují.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý