Перенаправить пользователя на мобильный сайт и обратно в typo3 с опечаткой

Я обнаружил, что если я использую приведенную ниже опечатку, я могу перенаправить своих пользователей на мобильную версию сайта, у которой есть собственное дерево в бэкэнде моего сайта с опечаткой 3.

[useragent = *iPhone*]||[useragent = *iPod*]||[useragent = *Android*]
config.additionalHeaders = Location: http://m.example.com/
[end]

Однако это упрощенная версия сайта, поэтому я хочу вернуться к полной ссылке на сайт. Но из-за моего вышеупомянутого опечатка, перенаправляющего пользователей в домен m, я не могу вернуться на www.example.com.

Есть ли здесь у кого-нибудь предложения по опечатке?


person ak85    schedule 14.05.2012    source источник


Ответы (2)


Вам понадобится дополнительный параметр в вашей обратной ссылке, который вы можете использовать для отключения перенаправления.

Попробуйте что-то вроде этого:

# check for mobile browser
[useragent = *iPhone*]||[useragent = *iPod*]||[useragent = *Android*]
config.additionalHeaders = Location: http://m.example.com/
[global]

# undo mobile redirect if mobile param is set
[globalVar = GP:nomobileredirect > 0]
config.additionalHeaders =
[global]

и перенаправить на http://www.example.com/?nomobileredirect=1 по вашей ссылке назад.

Чтобы сохранить значение nomobileredirect во всех сгенерированных ссылках, добавьте nomobileredirect к своим linkVars, например

config.linkVars = nomobileredirect,L
person adhominem    schedule 15.05.2012
comment
Спасибо, это большая помощь. Единственное, что я обнаружил, - это после того, как я вернусь к example.com/?nomobileredirect=1 и я нажимаю кнопку "сказать о нас", которая является example.com/index.php?id= 2 Я теряю параметр и возвращаюсь на m.example.com. Есть ли способ, который вы знаете об этом? - person ak85; 15.05.2012
comment
Я отредактировал свой ответ, включив в него конфигурацию config.linkVars. Чтобы узнать больше о том, как это работает, вот документ: typo3.org/documentation/document-library/core-documentation/ - person adhominem; 15.05.2012
comment
Хорошо работает, спасибо. Еще одно соображение, которое я не смог решить, - это то, что если вы щелкнете ссылку на новостную статью из twitter / facebook и т. Д., Вы будете перенаправлены на домашнюю страницу, что не очень хорошо. Есть ли способ иметь config.additionalHeaders = Location: m.example.com/ index.php? id = (pid) или что-то подобное, поэтому моя отдельная страница новостей будет перенаправлена ​​на мобильную версию, например example.com/index.php?id=10&tx_ttnews [год] = 2012 перейдет на m.example.com/index.php?id=20&tx_ttnews [год] = 2012 - person ak85; 16.05.2012
comment
К сожалению, я ничего не вижу. Вам понадобится возможность иметь переменные в config.addtionalheaders, но в настоящее время config.additionalheaders - это просто строка, поэтому нет возможности добавить переменную. Соответствующий запрос функции находится здесь: forge.typo3.org/issues/23494. Если вы хотите это сделать, вам нужно будет перейти с механизма перенаправления на основе typo3 на механизм перенаправления на основе htaccess. Как это сделать, должно быть легко в Google, но это выходит за рамки этого вопроса. - person adhominem; 18.05.2012
comment
Спасибо за подробное объяснение, вы очень помогли. - person ak85; 19.05.2012

Вы можете использовать другое условие для параметра GET и позже переопределить config.additionalHeaders. Помните, что TS - это не язык сценариев, а скорее статическая конфигурация. Последний оператор всегда выигрывает, и рендеринг начинается только после анализа всех TS.

Вы также можете попытаться расширить указанное выше условие дополнительным исключением параметра GET.

person pgampe    schedule 15.05.2012