e to totálně k zešílení a asi musím i ve statistikách vypadat jako cvok.

Některé stránky se mi náhodně nezobrazují. 10x kliknu na odkaz, 8x se zobrazí bílá stránka, 2x se zobrazí normálně. Kdykoliv stránku obnovím, zobrazí se správně.

Zkusím PHPkem poslat cokoliv před tagem HTML, zobrazí se to správně, skript tedy funguje. Zkouším Firefox. V pohodě. Jen ten zatracený Explorer. Cože je to za server? Aha, Pipni. Tak tohle už jsem někdy řešil, chyba byla v prázdných znacích před dokumentem. Ale tady mám všechno správně.

Zkouším odstranit kus hlavičky, nejlíp celou. Aha, vše najednou funguje. Odstraním jen tag s nastavením charsetu na UTF-8. Skript stále funguje. Vrátím v Content-Type charset na UTF-8, problémy se zobrazením jsou zpátky. Ten Explorer se určitě kouše na nějakém nerozpoznaném (dvoj-)znaku.

Zkusím před dokumentem poslat hlavičku se správným kódováním.

<?
header('Content-Type: text/html; charset=utf-8');
?>

Bezva. Funguje.

Doba řešení:1,5 hodiny. Achjo. Poslední dobou už ani z geniálních řešení nemám radost.

Photoshop bohužel přímo obrázek jako ikonu (.ico) ukládat neumí, ale stačí najít vhodný plugin. Tento dokonce dokáže uložit ikony i ve formátu pro Windows Vista.

Plugin pro export obrázku do formátu .ico

Přes veškeré pohodlí si ale myslím, že je lepší využít programů k tomu určených. Například freewarový SnIco Edit.

Po nějakém čase duše správce domácího serveru zajisté zatouží, aby mohl spravovat několik různých domácích adres třeba i s odlišnou konfigurací serveru.

Tentokráte budeme upravovat jen soubor httpd-vhosts.conf v adresáři extra, který si náš httpd.conf “natáhne”. Ve starších nebo jiných verzích Apache může být tato konfigurace součástí souboru httpd.conf .

Jak je napsáno v souboru, první direktiva je určena pro adresy bez známého názvu serveru, tedy podle toho, co jsme si nastavili v předchozí části:

* adresy http://localhost , http://drupal, http://a a http://d budou používat první direktivu
* na adrese http://b a http://c máme další servery s jinou konfigurací (je tady jiný kořenový adresář a logovací soubory)


#
# Virtual Hosts
#
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
ServerAdmin webmaster@a
DocumentRoot C:/apache/users
ServerName a
ErrorLog logs/a-error_log
CustomLog logs/a-access_log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@b
DocumentRoot C:/apache/b
ServerName b
ErrorLog logs/b-error_log
CustomLog logs/b-access_log common
IndexOptions FancyIndexing
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@c
DocumentRoot C:/apache/c
ServerName c
ErrorLog logs/c-error_log
CustomLog logs/c-access_log common
IndexOptions FancyIndexing
</VirtualHost>

Po úspěšném dokončení instalace Apache z balíku XAMPP se dostaneme konečně k něčemu trochu zajímavějšímu.

Je spousta věcí, kterými si programátor usnadní práci. Naopak není nic otravnějšího, než do adresního řádku pořád dokola bušit http://127.0.0.1 nebo http://localhost. Nebylo by lepší napsat tam jenom pismenko? Třeba a .

Povíme si jak na to.

Soubor hosts

Jak je napsáno uvnitř souboru, soubor hosts nastavuje mapování adres na názvy hostitelů.

Díky tomuto souboru operační systém pozná, že u nastavených adres nemá adresu z druhého sloupce marně hledat na internetu, ale na adrese zadané v prvním sloupci.

Soubor se jmenuje jen hosts, je bez přípony a nalezneme ho ve skrytém adresáři
c:/WINDOWS/system32/drivers/etc/

Po úpravě může soubor vypadat třeba takto:

127.0.0.1 localhost
127.0.0.1 drupal
127.0.0.1 a
127.0.0.1 b
127.0.0.1 c
127.0.0.1 d

Soubor stačí uložit a zkusíme do adresního řádku prohlížeče napsat písmenko a

Funguje?

Pokud si nainstalujete XAMPP ve verzi 1.5 a vyšší, možná vás překvapí, že některá nastavení nejsou na svém místě. Inteligentní člověk to samozřejmě najde sám, pro nás ostatní mám následující popis.

Pokud ještě stále dáte na moji radu a neinstalujete si XAMPP do Program Files ale do složky XAMPP, najdete soubory tam, kde já.

To nejdůležitější – httpd.conf

Soubor httpd.conf je stále na svém místě, v adresáři

c:/xampp/xampp/apache/conf/httpd.conf

Rozdíl je však v trochu jiném pořadí konfiguračních direktiv, ale hlavně v tom, že některá další nastavení jsou rozložena do dalších souborů v adresáři extra

Upravujeme httpd.conf

Kořenový adresář

176: #DocumentRoot "C:/xampp/xampp/htdocs"
DocumentRoot "C:/apache/users"

205: #<Directory "C:/xampp/xampp/htdocs">
<Directory "C:/apache/users">

Zapnutí mod_rewrite

Zapnutí mod_rewrite vyžaduje nejen odremování modulu na řádku 118, ale také povolení Override v konfiguraci k adresáři.

118: # LoadModule rewrite_module modules/mod_rewrite.so
LoadModule rewrite_module modules/mod_rewrite.so

187: <Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from localhost
</Directory>

225: AllowOverride All

Nastavujeme MySQL

Ještě nesmíme zapomenout na úpravu konfiguračního souboru pro MySQL. Najdeme soubor

c:/xampp/xampp/mysql/bin/my.cnf

A změníme zde hodnoty z latin1 na utf8. Pro jistotu přidávám ještě default-character-set.

default-character-set=utf8
character-set-server = utf8
collation-server = utf8_general_ci

A to je všechno. Nezapomeňte restartovat Apache a MySQL pro znovunačtení konfigurace.

« novější článkydalší články »