我如何做路由在WebForms的CMS

本文关键字:WebForms CMS 路由 何做 | 更新日期: 2023-09-27 18:17:26

我知道您可以在asp.net web表单中创建路由,但我如何创建一个处理所有页面(如mydomain.com/aboutus)的路由呢?

我听说过自定义路由处理程序,但有人能给我一个例子吗?

谁能给我发一个c#的例子,我将如何去做这件事?我确实有一个名为page.aspx的文件,它将处理CMS的所有请求。我认为这是我需要的根处理程序

我如何做路由在WebForms的CMS

IIS 7和IIS 7.5中的URL重写做得很好。您需要首先通过Web平台安装程序将URL重写安装到IIS中。之后,你将把它放在你的web.config中。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="admin" stopprocessing="true">
                <match url="^admin/(.+)$" />
                <action type="Rewrite" url="/admin/{R:1}.aspx" />
            </rule>
            <rule name="pagehandler">
                <match url="^(.*)$" />
                <action type="Rewrite" url="/pagehandler.aspx?page={R:1}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

你可以在"页面处理程序"规则上方放置更多不通过CMS动态更改的页面。/pagehandler。aspx将获取具有参数的页面ID,并动态地提供其内容。那是你该做的。

处理这个问题的一种方法是通过重写——就像Wordpress, ExpressionEngine和许多其他CMS一样。

您可以将请求重新写入页面。Aspx文件,请求的"页"是一个参数,并按要求处理…

mod_rewrite等价于IIS 7.0有很多关于IIS重写模块的信息,然后你可以研究任何数量的开源解决方案,使用这个方法来"漂亮"或"seo友好"URL的