为什么stackoverflow在url栏中没有任何.aspx页面后缀?一切都以/ something /或/ page
结束如何在asp.net中实现相同的目标?
答案 0 :(得分:0)
这些被称为friendly urls。我不确定他们是如何在Stackoverflow中编写的,但你可以通过这样做来删除.aspx entension:
<rewrite>
<rules>
<rule name="RewriteMyASPX">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}.aspx" />
</rule>
</rules>
</rewrite>
答案 1 :(得分:0)
您可以使用MVC及其路由功能(请参阅http://www.asp.net/mvc/overview/controllers-and-routing),而不是webforms(和aspx页面),其中网址映射到&#34; action&#34;在&#34;控制器&#34;。
/questions/25364620/whatever
的网址可以映射到&#34;索引&#34; &#34; QuestionsController&#34;的动作(默认值) (&#34;问题&#34;来自URL +&#34; Controller&#34;),id参数为25364620.标题被忽略。