Pracujemy nad dwiema witrynami, z których jedna to aplikacja internetowa, a druga to aplikacja mobilna.
Więc moim wymaganiem jest utworzenie adresu przekierowania, aby przekierować z aplikacji internetowej do aplikacji mobilnej dla użytkowników mobilnych, ale folder lub struktura jest inna.
W przypadku aplikacji sieciowej jest to http://testrequest.com/home/Account/ i na urządzenia mobilne tak powinno być http://m.testresponce.com/mforyourhome/Account.aspx
Proszę, ktoś może mi pomóc w użyciu przepisywania adresów URL.
Edytowano: - Praca nad IIS7
Odpowiedzi:
4 dla odpowiedzi № 1Możesz użyć {HTTP_USER_AGENT}
warunek, aby to zrobić.
W przypadku Twojej sprawy wyglądałoby to następująco:
<rule name="Mobile Redirect" stopProcessing="true">
<match url="^home/Account/$" ignoreCase="true" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-Device-User-Agent}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-OperaMini-Phone-UA}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="http://m.testresponce.com/mforyourhome/Account.aspx" appendQueryString="false" />
</rule>
Będzie pasować dokładnie home/Account/
a jeśli użytkownik przegląda z urządzenia mobilnego, zostanie przekierowany na http://m.testresponce.com/mforyourhome/Account.aspx
Ważny
Zastosuj tę regułę do http://testrequest.com/
tylko (lub przynajmniej uniknij utknięcia w nieskończonym przekierowaniu).
Agent użytkownika nigdy nie są w 100% niezawodne (ponieważ można je zmienić)
Źródło: http://forums.iis.net/t/1169853.aspx
0 dla odpowiedzi nr 2
Aby zablokować przekierowanie po powrocie z witryny mobilnej:
<rule name="Mobile Redirect" stopProcessing="true">
<match url="^home/Account/$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_REFERER}" pattern="http://m.testresponce.com(.*)" negate="true" />
<add input="{HTTP_USER_AGENT} {HTTP_X-Device-User-Agent} {HTTP_X-OperaMini-Phone-UA}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="http://m.testresponce.com/mforyourhome/Account.aspx" appendQueryString="false" />
</rule>