Nie "wildcars", tylko "wildcard". Na localhost nie zrobisz latwo wildcard

. Musisz miec serwer dns itp

. Do testow mozesz wpiswac w plik /etc/hosts (w zalezonosci od systemu inne miejsce) dana domene oraz lokalne ip.
Np:
127.0.0.1 www.cms.localhost.pl cms.localhost.pl
Wtedy wszystko bedzie kierowalo do twojego serwera. Musisz rowniez dodac wirtualny host w apachu

Po drugie dlaczego masz w route host ":module" ? Czy masz modul "asd" ? wpisujac ten link ?
Ja hostname i uzytwkonikow mam tak:
$usersOne = new Zend_Controller_Router_Route(
':action/*',
array('module' => 'default','controller' => 'Uzytkownik','action' => 'show'));
$users = new Zend_Controller_Router_Route_Hostname(
':users.localhost.pl',
array('users' => '([a-z0-9]+)',) );
$router->addRoute('users', $users->chain($usersOne));
Router ten zawsze uruchamia kontroler uzytkownik, paramert user => nazwa usera, i dalej akcja i dodatkowe parametry.
Po trzecie Zend_Controller_Router_Route_Hostname to nie jest wildcard. Wildcard to jest usluga serwera, Zend tylko zmienia adres w odpowiednie zadanie $_REQUEST.
Dokladniej przekierowywuje ona wszystkie adresy ( subdomeny ) na glowny adres serwera, dzieki temu mozemy operowac wewnatrz aplikacji pobierajac adres.
A po 4 jesli planujesz robic na tym uzytkownikow, tzn ze tez pewnie logowanie. Zeby to zrealizowac musisz ustawic odpowiednio ciasteczka :
Zend_Session
::setOptions(array('cookie_domain' => '.localhost.pl'));
Wazna tutaj jest wlasnie ta kropka przed adresem

Pozdrawiam i zycze udanej zabawy