2016-07-14 7 views
5

Я пытаюсь создать URL IIS Перепишите функцию, чтобы просто отправить любой запрос URL в Google (как тест):Просто URL Rewrite не работает

  <rule name="Intercept" enabled="true" patternSyntax="ECMAScript" stopProcessing="true"> 
       <match url="(.*)" /> 
       <action type="Rewrite" url="google-homepage-url-here" appendQueryString="false" logRewrittenUrl="true" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="example.com$" /> 
       </conditions> 
      </rule> 

Я использую Rewrite а не Перенаправление, так как мне нужно скрыть URL-адрес от пользователя. Вышеупомянутая конфигурация работает для Redirect, но не для Rewrite, почему это?

Когда я ударил http://example.com/blablabla я получаю 404,4

Моя цель состоит в том, чтобы пользователь должен быть направлен на главную страницу Google.

У меня установлен ARR, любые идеи?

+0

Любые идеи кто-нибудь? Переписывание кажется очень серой областью. – FBryant87

ответ

3

Если вы хотите, чтобы пользователь был направлен на главную страницу Google, вы должны использовать перенаправление, а не переписывать. Это не «скрытие URL-адреса пользователя», а обработка на стороне сервера.

Без каких-либо журналов я могу только предположить, что ваш IIS пытается переписать на google, запрашивает его для какой-либо несуществующей страницы и, очевидно, возвращает 404. Это может произойти, если ваш сайт использует http, а google-сервер использует https, например.

Я думаю, что вы также должны проверить разницу между переадресацией и переписыванием, this статья - хорошее начало.

Смежные вопросы