Do lokalnego testowania deweloperów potrzebuję przechwycić wszystkie żądania do www.somedomain.com/XXX
(gdzie X jest ścieżką) i wysłać je do localhost/somevdir/XXX
.Konfigurowanie reguły przepisywania adresu URL dla konkretnej domeny
Dodałem to do mojego pliku HOSTS (c: \ windows \ system32 \ drivers \ etc):
127.0.0.1 www.mydomain.com
Następnie w IIS8 (Windows 8), dodałem do mojego wiązania "Domyślna witryna internetowa" dla hosta www.mydomain.com. To działa, mogę teraz przeglądać www.mydomain.com/test.html i zobaczyć stronę testową html. Mój wirtualny katalog znajduje się w domyślnej witrynie internetowej. Następnie dodałem URL do przepisywania adresu URL do strony internetowej dla ostatniego fragmentu:
<rewrite>
<rules>
<rule name="mydomain.com" stopProcessing="true">
<match url="^www.mydomain.com/(.*)" />
<action type="Rewrite" url="localhost/MyVDir/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
Ale - to nie działa. Dostaję 404, więc wygląda na to, że mecz nigdy się nie stanie. Próbowałem przekierować i przepisać, i próbowałem bez^w regex i kilka innych poprawek regex. Czy ktoś może wyjaśnić, co zrobiłem źle?
Prawie :) musiałem użyć przekierowania (przepisz nie działa) i musiał podać pełną ścieżkę z hostem ('http: // localhost/MyVDir/{1} R:') ale gdy już to zrobiłem, byłem w :) –
Nie powinieneś uciekać od okresów we wzorcu nazw twoich domen?^((mojadomena \ .com) | (www \ .mydomain \ .com)) $ –
Dobre miejsce, na szczęście dopasowanie postaci z okresów jest mało prawdopodobne, ponieważ większość ludzi nie będzie mieć strony wwwXmydomain.com gdzie X jest losowa litera. Dodatkowy nawias nie jest potrzebny. –