2013-07-21 2 views
1

Надеюсь, вы все прекрасно проводите время на этом форуме. Сегодня я присоединился к этому форуму и столкнулся с проблемой. Моя проблема в том, что ...Постоянное перенаправление в asp.net, когда старая страница не существует?

Недавно я создал веб-сайт, и когда я создаю его страницы, тогда имя 1 страницы является ошибкой. Теперь я хочу перенаправить эту страницу на имя реальной страницы. Я использую этот код:

<system.web> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"></modules> 

    <httpHandlers> 
     <add verb="*" path="misspell url " type="UrlRedirection" validate="false" /> 
    </httpHandlers> 
    </system.web> 

Этот код прекрасно в локальном сервере, но когда я загрузить этот код на сервере его внутренняя ошибка сервера показать 500.

Баллы: • Мы использовали хостинг godaddy, IIS 7.

Нужна помощь!

Спасибо в Advanced.

+0

Не является ли [правило перезаписи] (http://www.iis.net/learn/extensions/url-rewrite-module/user-friendly-url-rule-template), что вам нужно? – rene

ответ

4

Хорошие новости, вы используете IIS7 и ваш GoDaddy хостинг поддерживает модуль UrlRewrite:

Это означает, что вы делаете следующее:

  1. Удалить <httpHandler><add /> которые вы создали.
  2. Найти <system.webServer> в вашем web.config
  3. Вставить это между началом и закрывающими тегами:

Код:

<rewrite> 
    <rewriteMaps> 
    <rewriteMap name="StaticRewrites" defaultValue=""> 
     <add key="/oldurl.aspx" value="/newurl.aspx" /> 
    </rewriteMap> 
    </rewriteMaps> 
    <rules> 
    <rule name="RewriteMap Rule"> 
     <match url=".*" /> 
     <conditions> 
     <add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" /> 
     </conditions> 
     <action type="Redirect" url="{C:1}" /> 
    </rule> 
    </rules> 
</rewrite> 

Вы можете добавить как многие из этих строк, как вам нравится, если вы хотите перенаправить несколько страниц:

<add key="/oldurl.aspx" value="/newurl.aspx" /> 

Я просто дважды проверил это на своем сервер, и он создает 301 редирект (который является постоянным, seo-friendly перенаправлением).

+1

Спасибо за ответ, но этот код имеет такую ​​же проблему .. На локальном сервере он работает отлично. Но когда я загружаю этот код на сервер, он показывает ту же ошибку ** 500 внутренняя ошибка сервера **. если вы знаете любой другой вопрос этой проблемы, ответьте мне как можно скорее. Спасибо .. – gaurav

+0

ошибка внутреннего сервера 500, вероятно, не связана с этим кодом. Возможно, web.config использует другой элемент конфигурации, который разбивает сайт. – rtpHarry

+0

К сожалению, отладка ошибки в фактическом web.config, как правило, является примером комментирования определенных блоков, сохранения и повторной попытки. Мне было бы интересно узнать, есть ли у кого-нибудь лучшие методы. – rtpHarry

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