URL Перезапись aspx page.pls дать мне предложение - PullRequest
1 голос
/ 04 марта 2011

Я новичок в asp.net. У меня есть версия 6.0 iis. Я хочу переписать URL. На самом деле я работаю над сайтом. Когда я использовал этот тег в web.config

  <urlrewritingnet
    rewriteOnlyVirtualUrls="true"
    contextItemsPrefix="QueryString"
    defaultPage="default.aspx"
    defaultProvider="RegEx"
    xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
    <rewrites>
      <add name="this-is-a-long-page-name"  virtualUrl="^~/this-is-a-long-page-name"
            rewriteUrlParameter="ExcludeFromClientQueryString"
            destinationUrl="~/Default.aspx"
            ignoreCase="true" />
    </rewrites>
  </urlrewritingnet>

Когда я запускаю его, он показывает ошибку «нераспознанный перезаписывающий раздел конфигурации».

Ответы [ 2 ]

4 голосов
/ 04 марта 2011

пользователь,

вам нужно реализовать модуль urlrewrite, все запросы поступают в модуль urlrewrite. Вы можете написать свою логику там

public  class UrlModule : IHttpModule
    {
        public virtual void Init(HttpApplication application)
        {
            application.BeginRequest += new EventHandler(this.BaseUrlModule_BeginRequest);
        }
        public virtual void Dispose()
        {
        }
        protected virtual void BaseUrlModule_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication application = (HttpApplication)sender;
            Rewritethepath(application.Request.Path, application);
        }

        private  void Rewritethepath(string requestedPath, HttpApplication application)
        {
           application.Context.RewritePath("/yournewurl", String.Empty, QueryString);                
        }
    }

сделайте эту запись в вашем web.config

<httpModules>
                <add type="namespace.UrlModule, namespace" name="UrlModule"/>
            </httpModules>

Зарегистрируйте свой httpmodule в файле web.config, как только к нему придет каждый запрос, вы можете переписать URL-адрес по своему усмотрению,

Я недавно это реализовал, и дайте мне знать, если вам нужна помощь, я обязательно помогу вам.

1 голос
/ 04 марта 2011

Мой ответ не дает прямого ответа на ваш вопрос (который касается библиотеки UrlRewritingNet).Вместо этого я предлагаю рассмотреть официальную библиотеку Microsoft IIS URL Rewrite , для которой требуется IIS 7.x или IIS Express .Библиотека UrlRewritingNet, хотя и полезная пару лет назад, в настоящее время является далеко не идеальным способом переписывания URL-адресов в IIS / ASP.NET.Я предлагаю это предложение, так как вы упомянули, что вы новичок в ASP.NET.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...