Мобильное перенаправление сайта .NET - как настроить в IIRF? - PullRequest
1 голос
/ 10 ноября 2011

Я работаю на мобильном сайте на базе .NET (m.website.com).Я использую IIRF на основном сайте (немобильном) для перезаписи URL.

Теперь необходимо перенаправить любого мобильного пользователя на мобильный сайт, если он попадет на основной сайт (www.website.ком).Я могу добиться этого, проверив пользовательский агент в IIRF и перенаправив.

Проблема, с которой я сталкиваюсь, заключается в следующем:

На мобильном сайте будет ссылкавернуться на основной сайт.Если мобильный пользователь нажимает на эту ссылку, его не следует перенаправлять обратно на мобильное устройство.

Я попытался использовать решение htaccess, упомянутое в этом посте, - Перенаправление мобильных устройств с использованием htaccess , но егоне работает должным образом с IIRF.RewriteCond для {QueryString} не работает должным образом.Кроме того, я не уверен, смогу ли я установить cookie из самой IIRF, как это указано в ссылке.

Я боролся с этой проблемой в течение нескольких часов, было бы здорово, если бы кто-то могhelp.

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

1 Ответ

0 голосов
/ 14 ноября 2011

IIRF не предлагает модификатор [co] для установки cookie , но вы можете легко сделать это из .NET.

IIRF, однако, поддерживает проверку значений cookie, используя {HTTP_COOKIE} в ваших условиях.

{QUERY_STRING} также поддерживается (только обязательно добавьте подчеркивание). Кроме того, это HTTP_REFERER, а не HTTP_REFERRER ( орфографическая ошибка, с которой нам придется жить ... ).

Таким образом, вы можете адаптировать правила перезаписи на основе пользовательского агента (откуда этот список? ??) из вопроса, который вы связали . Перенаправить на мобильный сайт, если:

  • запрашиваемый URL-адрес уже не является мобильным сайтом
  • URL не содержит строку запроса без перенаправления (?noredirect=1 или аналогичную)
  • cookie без перенаправления , а не присутствует
  • пользовательский агент совпадает с длинным списком из связанного вопроса
...