#asp.net #url #url-rewriting
#asp.net #url #url-переписывание
Вопрос:
Здравствуйте, я использую Smartasp, который я позволил мне переписать url. Я разместил правила в web.config следующим образом:
<system.webServer>
<rewrite>
<rules>
<rule name="AmazonS3" stopProcessing="true">
<match url="http://www.blah/amazon/(.*)" />
<action type="Redirect" url="http://amazon.blah/{R:1}" logRewrittenUrl="true" redirectType="Permanent" />
</rule>
<rule name="AmazonS3 with port" stopProcessing="true">
<match url="http://www.blah.com:80/amazon/(.*)" />
<action type="Redirect" url="http://amazon.blah.com/{R:1}" logRewrittenUrl="true" redirectType="Permanent"/>
</rule>
Где я пытаюсь прочитать запрошенный URL: www.blah.com/amazon / для amazon.blah.com . После ввода www.blah.com/amazon / браузер не перенаправил на страницу Amazon…
На моем локальном компьютере, где я ввел правила, выделен тег перезаписи с надписью недопустимая перезапись в system.webserver. Я что-то упустил?
Ответ №1:
Попробуйте сделать это таким образом с помощью http
:
<rule name="Page Redirect" stopProcessing="true">
<match url="www.blah.com/amazon/"/>
<action type="Redirect" url="http://amazon.blah.com" redirectType="Permanent"/>
</rule>
Комментарии:
1. Я добавил правила, как вы упомянули, но все еще не собираюсь
2. Измените url-match на точно такой
<match url="/amazon"/>
и проверьте результат.3. Нет, я не использую свой localhost, чтобы попробовать сначала. Это может произойти, если я выберу параметр «Не соответствует шаблону», но этот параметр мне не нужен.
4. Извините, не знаю, почему это работает сейчас … я в основном очищаю историю, чтобы протестировать ее… Круто, я могу подделать браузер, что изображение размещено на моем сайте, но на самом деле оно было на Amazon s3.
5. Черт возьми, это работает, url переписать, но не смог подделать браузер о перекрестном происхождении на холсте