Я работаю над этим вопросом более месяца.Недавно я добавил мобильный веб-сайт и пытался заставить его работать с моим полным веб-сайтом IIS7.У меня есть URL переписать на полном веб-сайте, настроенном следующим образом:
<rewrite>
<rules>
<clear />
<rule name="BlockingRule2" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_USER_AGENT}" pattern="ipad" />
<add input="{QUERY_STRING}" pattern="fullsite=1" />
</conditions>
<action type="None" />
</rule>
<rule name="BlockingRule1" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone|android|iphone" />
</conditions>
<action type="Redirect" url="http://www.wkmclaughlin.mobi" />
</rule>
</rules>
</rewrite>
Он отлично работает для перенаправления мобильных устройств на мобильный сайт.Проблема в том, что мобильный сайт не может позвонить на главный сайт, исключая эти перенаправления.
BlockingRule2 - вот как я думал, что смогу это сделать.Как видите, он прерывает раздел перезаписи, если входящий запрос поступил с iPad или строка запроса равна «fullsite = 1».IPad часть работает отлично;строка запроса перенаправляет на основной сайт, но относительная адресация сайта не работает.Вы не получаете графику и функциональные ссылки - только необработанный текст на домашней странице.Я пробовал это с тремя разными смартфонами и шестью разными браузерами.Мобильный сайт может получить доступ к основному сайту должным образом, когда переадресация вообще отсутствует, но как только вы введете правило перезаписи, которое влияет на мобильный запрос - даже тот, который ничего не делает, - относительная адресация становится неработоспособной.Проблема полностью в BlockingRule2, потому что она сохраняется, даже если вы устраняете BlockingRule1.
Может ли кто-нибудь подтвердить, что невозможно получить полный доступ к веб-сайту с мобильного веб-сайта, если на полном веб-сайте есть мобильные перенаправления, которые необходимо обойти?Или покажи мне, что я делаю не так?