Проблема, как оказалось, была вызвана JQuery Mobile.
Я нашел ответ здесь: http://jquerymobile.com/demos/1.0a3/docs/pages/docs-pages.html
JQuery Mobile не выполняет полную перезагрузку страницы, пока не получено уведомление, поэтому, хотя полный html был возвращен, JQuery Mobile просто заменил часть страницы,
Ключевая часть документов: «Важно отметить, что если вы ссылаетесь с мобильной страницы, которая была загружена через Ajax, на страницу с несколькими внутренними страницами, вам нужно добавить rel =" external "или data-ajax = "false" для ссылки. Это заставляет платформу выполнить полную перезагрузку страницы, чтобы очистить хеш Ajax в URL. Это важно, поскольку страницы Ajax используют хеш (#) для отслеживания истории Ajax,в то время как несколько внутренних страниц используют хеш для обозначения внутренних страниц, поэтому могут возникнуть конфликты. "