Menu
RSS
Kategorie
Nejnovější články
Nejnovější komentáře
| Last.fm - The Zero | |
|---|---|
| Pos | Interpret (skladby) |
| 1 | E-Type (2933) |
| 2 | Groove Coverage (2400) |
| 3 | Sylver (1564) |
| 4 | Ace of Base (1449) |
| 5 | Maya (1295) |
| 6 | Cascada (1108) |
| 7 | Solid Base (1064) |
| 8 | Lewron Orchestra (922) |
| 9 | Milk Inc. (887) |
| Last.fm - Borek | |
|---|---|
| Pos | Interpret (skladby) |
| 1 | Coldplay (1348) |
| 2 | Pink Floyd (901) |
| 3 | Brian Tyler (671) |
| 4 | Jaromír Nohavica (622) |
| 5 | Louis Armstrong (412) |
| 6 | Karel Kryl (393) |
| 7 | Daft Punk (326) |
| 8 | Vladimír Mišík (274) |
| 9 | Bobby McFerrin (240) |

Správa domén 3. řádu pomocí mod_rewrite
Ještě nedávno jsem byl, co se týče mod_rewrite, úplným nováčkem a ani teď nepovažuji své znalosti za dostatečné, ale poslední práce mě donutila k používání něčeho jiného, než je přepisování 404 stránky.
V manuálu Apache je dynamické správě domén věnována celá dlouhá stránka, ale většina řešení se zabývá doménou druhého řádu (jen pro jistotu: http://treti.druhy.prvni/rad). S tím souvisí ještě jedna velká nevýhoda: Řešení nefunguje v souborech .htaccess umístěných v adresáři s webem, takže pokud zrovna nemáte svůj server, je vám to na nic. Přesto jej uvedu (zde v kombinaci s VirtualHost):
<VirtualHost *:80>
DocumentRoot C:/web/web/project/
ServerName domain.cz
ServerAlias domain.cz *.domain.cz
# #begin;
RewriteEngine on
RewriteMap lowercase int:tolower
# check the hostname is right so that the RewriteRule works
RewriteCond ${lowercase:%{SERVER_NAME}} ^[a-z-]+\.domain\.cz$
# concatenate the virtual host name onto the start of the URI
# the [C] means do the next rewrite on the result of this one
RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
# now create the real file name
RewriteRule ^([a-z-]+)\.domain\.cz/?(.*) C:/web/web/project/index.php?domain=$1¶m=$1/$2
</VirtualHost>
Evidentně to tedy není zrovna postup, jakým byste si mohli spravovat skripty na nějakém hostingu.
I já jsem byl donucen opustit tento postup a vymyslet způsob, jak přepisovat poddomény jen z .htaccessu. Dlouho jsem se trápil s upravováním výše uvedené konfigurace, až jsem si nakonec řekl, že takhle to prostě nepůjde, že to musim přepsat. A ono to kupodivu šlo, a je to mnohem jednodušší. Má to ale nevýhodu: Zřejmě to stejně závisí na konfiguraci Apache, protože tady na tomto hostingu se mi to zprovoznit nepodařilo.
RewriteEngine On
# Prepiseme domeny tretiho radu na ridici skript
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.cz
RewriteRule ^([a-z0-9:/\-]*)$ /index.php?domain=%{HTTP_HOST}¶m=$1 [L,QSA]
To je trochu jednodušší, ne? (Všimněte si regulárního výrazu na posledním řádku, možná bude potřeba upravit podle potřeby)
Zařazeno do kategorie Webdesign.
Předchozí: Profilování PHP (APD vs. XDebug)
Následující: Kopírovat zdrojáky se nevyplatí
Komentáře
Nikdo ještě nekomentoval. Buď máte fakt rychlou RSS čtečku, nebo jste právě přečetli něco, co nikomu nestojí ani za trochu snahy.