Nefunkční $presenter->redirect v subdoméně s podtržítkem

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sairon
Člen | 32
+
0
-

Dnes mě silně potrápil jeden bug, u nějž se mi nedaří najít přesnou příčinu. Jelikož se mi podařilo ho reprodukovat na dvou serverech (na VPS na Angel-hostingu a hostingu na Ignumu), řekl bych, že se nebude jednat o mou individuální chybu.

Bug se projevuje tak, že při umístění aplikace do domény třetího řádu, která obsahuje podtržítko, se při zavoláni $this->redirect('Sign:in') v presenteru zašle špatná hlavička Location:, která místo http://sub_domena.example.cz/document_root/sign/in obsahuje pouze http:///document_root/sign/in.

Mírně upravená CD collection z distribuce (pouze změněna cesta k libs, upravena direktiva RewriteBase a zakomentován jeden řádek v .htaccessu), kterou jsem umístil do dvou subdomén je ke stažení tady: http://dump.sairon.cz/cd_col.zip

Vyzkoušet je to možné zde:

Snad za to nemůže moje blbost, pokud mi někdo chybu potvrdí i na jiných serverech, budu rád.

Verze Nette: 2.0-dev 5bdf5b0 released on 2010–11–12 (je přítomná v odkazu ke stažení výše, i když jen minified)

Majkl578
Moderator | 1364
+
0
-

Podtržítko není platný znak pro hostname.

Ondřej Mirtes
Člen | 1536
+
0
-

Pokud se prohlížeče na takovou URL dostanou a Apache ji dokáže přijmout a poslat na správný VirtualHost, tak bych to podporoval.

David Grudl
Nette Core | 8170
+
0
-

Podporu pro podtržítko přidám, ale je lepší se mu vyhýbat, viz https://en.wikipedia.org/wiki/Hostname#…