2013-06-11 2 views
0

Я обновляю сайт в более динамичную версию сайта. А на новом сайте я использую хэш-теги вместо новой страницы для каждого изменения содержимого.Web.config httpredirect вставляет обратную косую черту, когда я не хочу один

Я использую файлы web.config в каталогах для перенаправления, но он добавляет обратную косую черту. Есть ли вообще избежать этого? Я уже справляюсь с этим в переадресации, но я чувствую, что это чудак.

Ниже приведен пример Web.config

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
    <httpRedirect enabled="true" destination="/legal/#!terms-of-use" /> 
    </system.webServer> 
</configuration> 

Edit: Стоит отметить, что вместо того, чтобы идти в "/ юридическое/# термины в использовании!" Он идет к «/ Legal/#! условия использования/"Обратите внимание на обратную косую черту в конце.

+0

Это не делает большой смысл как путь, она не должна быть «/ юридическое # термины в использовании! «? – jlew

+0

Совсем нет. IIS просто перенаправит ваше предложение на/legal/#! Условия использования. поскольку путь действительно /legal/default.aspx#!terms-of-use. default.aspx - это страница по умолчанию для этой папки, поэтому правильный синтаксис пути - обратная косая черта, так как «default.aspx» обрабатывается iis. – Smeegs

+0

Итак, что, если вы измените его на это (добавьте default.aspx)? Предполагая, что это путь по умолчанию, связанный с построением документа, который вводит в заблуждение код. Кстати, посмотрели ли вы в заголовок местоположения и на самом деле видели завершающую косую черту, чтобы убедиться, что браузер так и не добавлен? – jlew

ответ

1

Включите exactDestination в переадресацией элемента, как показано ниже:

<httpRedirect enabled="true" destination="/legal/#!terms-of-use" exactDestination="true" /> 
+0

Спасибо за помощь – Smeegs