【发布时间】:2018-04-13 18:12:23
【问题描述】:
我有一个关于 .Net Framework 2.0 的项目,其中我需要调用一些没有页面扩展名的页面,这意味着我必须从 url 中删除 .aspx 并且我还需要传递一些 Query字符串数据。 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>
如何通过在.Net framework 2.0
中传递一些查询字符串参数来替换当前的web.config代码以实现不带.aspx扩展名的url重写【问题讨论】:
-
不清楚需要将哪些 URL 重定向到没有 .aspx 的 URL。你可以再详细一点吗?我希望这些不是所有 URL,因为您在很多
destinations 中明确添加了“.aspx”。 -
您是否尝试过这篇文章中建议的解决方案:stackoverflow.com/questions/4481632/…。这应该是您的首选,因为您使用的是 .Net 2.0。
-
"通过传递一些查询字符串参数" 你是说你想在重定向请求中附加一些查询字符串参数吗? (一旦收到请求?)
标签: c# asp.net url-rewriting c#-2.0