不带页面扩展的 URL 重写规则

Ani*_*and 5 c# asp.net url-rewriting c#-2.0

我有一个关于.Net Framework 2.0的项目,其中我需要调用一些没有页面扩展名的页面,这意味着我必须从 url 中删除 .aspx,并且还需要传递一些查询字符串数据。目前已通过以下方式实现 URL 重写,但不会删除 .aspx

<configuration>
<modulesSection>
    <rewriteModule>
      <rewriteOn>true</rewriteOn>
      <rewriteRules>
        <rule source="Admin/TheFetus/(.*)" destination="Admin/Fetus/$1"/>
        <rule source="CaseDetails/(.*).aspx" destination="Client/Cases/CaseDetails.aspx"/>
        <!--<rule source="ArticleDetails/(.*).aspx" destination="Client/Articles/ArticleDetails.aspx"/>-->
        <rule source="ArticleDetails" destination="Client/Articles/ArticleDetails.aspx"/>
        <rule source="ChapterDetails/(.*).aspx" destination="Client/Chapters/ChapterDetails.aspx"/>
        <rule source="LectureDetails/(.*).aspx" destination="Client/Lectures/LectureDetails.aspx"/>
        <rule source="ConventionDetails/(.*).aspx" destination="Client/Conventions/ConventionDetails.aspx"/>
        <rule source="IfserDetails/(.*).aspx" destination="Client/Ifser/IfserDetails.aspx"/>
        <rule source="Client/Fetus/Files/(.*)" destination="Client/Fetus/Files/$1"/>
        <rule source="Fetus/Files/(.*)" destination="Client/Fetus/Files/$1"/>
        <rule source="Client/Fetus/Index.php" destination="Client/Fetus/Home.aspx"/>
        <rule source="Fetus/Index.php" destination="Client/Fetus/Home.aspx"/>
        <rule source="Client/Fetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
        <rule source="Fetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
        <rule source="Admin/Fetus/(.*)" destination="Admin/Fetus/$1"/>
        <rule source="Client/Fetus/(.*)" destination="Client/Fetus/$1"/>
        <rule source="Fetus/(.*)" destination="Client/Fetus/$1"/>
        <rule source="bannerspecs" destinatiofn="Client/FooterLinks/BannerSpecs.aspx"/>
        <rule source="Client/TheFetus/Files/(.*)" destination="Client/Fetus/Files/$1"/>
        <rule source="TheFetus/Files/(.*)" destination="Client/Fetus/Files/$1"/>
        <rule source="Client/TheFetus/Index.php" destination="Client/Fetus/Home.aspx"/>
        <rule source="TheFetus/Index.php" destination="Client/Fetus/Home.aspx"/>
        <rule source="Client/TheFetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
        <rule source="TheFetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
        <rule source="Client/TheFetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
        <rule source="Client/TheFetus/(.*)" destination="Client/Fetus/$1"/>
        <rule source="TheFetus/(.*)" destination="Client/Fetus/$1"/>
        <rule source="(.*)/Default.aspx" destination="Default.aspx?Folder=$1"/>
        <rule source="LATAM.aspx" destination="Client/MiniSites/MiniSiteDetails.aspx?MiniSiteId=10"/>
      </rewriteRules>
    </rewriteModule>
  </modulesSection>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如何通过在.Net Framework 2.0中传递一些查询字符串参数来替换当前的web.config代码以实现不带.aspx扩展名的url重写

Ser*_*gGr 0

正如我在评论中所写,不清楚哪些 URL 应该在没有“.aspx”的情况下重定向,但为什么不能执行与“.php”相同的技巧,例如

    <rule source="Client/Fetus/(.*).php(.*)" destination="Client/Fetus/$1.aspx$2"/>
Run Code Online (Sandbox Code Playgroud)

因此,假设您想更改旧“Admin/TheFetus”文件夹下的 URL,您可以将第一条规则更改为:

    <rule source="Admin/TheFetus/(.*).aspx(.*)" destination="Admin/Fetus/$1$2"/>
Run Code Online (Sandbox Code Playgroud)