Мобильное перенаправление сайта.NET - как настроить в IIRF?
Я работаю на мобильном сайте на базе.NET (m.website.com). Я использую IIRF на основном сайте (не для мобильных устройств) для перезаписи URL.
Теперь необходимо перенаправить любого мобильного пользователя на мобильный сайт, если он попадет на основной сайт (www.website.com). Я могу добиться этого путем проверки пользовательского агента в IIRF и перенаправления.
Проблема, с которой я сталкиваюсь, заключается в следующем:
На мобильном сайте будет ссылка на основной сайт. Если мобильный пользователь нажимает на эту ссылку, его не следует перенаправлять обратно на мобильное устройство.
Я попытался использовать решение htaccess, упомянутое в этом посте - Mobile Redirect с использованием htaccess, но оно не работает должным образом с IIRF. RewriteCond
за {QueryString}
не работает должным образом. Кроме того, я не уверен, смогу ли я установить cookie из самой IIRF, как указано в ссылке.
Я боролся с этой проблемой уже несколько часов, было бы здорово, если бы кто-то мог помочь.
Еще один подход, который я попробовал, это проверка HTTP_REFERER
чтобы избежать перенаправления, если ссылающийся сайт является мобильным, но это не сработало.
1 ответ
IIRF не предлагает [co]
модификатор для установки cookie - но вы должны легко это делать из.NET.
IIRF, однако, поддерживает проверку значений cookie с помощью {HTTP_COOKIE}
в ваших условиях.
{QUERY_STRING}
также поддерживается (только убедитесь, что вы добавили подчеркивание). Кроме того, это HTTP_REFERER
не HTTP_REFERRER
( опечатка, с которой нам придется жить...).
Поэтому вы можете адаптировать правила перезаписи на основе пользовательского агента (откуда этот список взят из??) из вопроса, который вы связали. Перенаправить на мобильный сайт, если:
- запрашиваемый URL-адрес уже не является мобильным сайтом
- URL не содержит строку запроса без перенаправления (
?noredirect=1
или похожие) - cookie без перенаправления нет
- пользовательский агент соответствует волшебному длинному списку из связанного вопроса