Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net siteurls.config和dotnetnuke 9中的url重新编写_Asp.net_Url Rewriting_Url Routing_Dotnetnuke_Dotnetnuke 9 - Fatal编程技术网

Asp.net siteurls.config和dotnetnuke 9中的url重新编写

Asp.net siteurls.config和dotnetnuke 9中的url重新编写,asp.net,url-rewriting,url-routing,dotnetnuke,dotnetnuke-9,Asp.net,Url Rewriting,Url Routing,Dotnetnuke,Dotnetnuke 9,重写url和人性化url在seo和性能方面非常重要。dnnurlprovider是DNN的默认ur重新布线器,规则写入siteurls.config和DNN 9: <?xml version="1.0" encoding="utf-8" ?> <RewriterConfig> <Rules> <RewriterRule> <LookFor>.*DesktopDefault.aspx(.*)

重写url和人性化url在
seo
和性能方面非常重要。dnnurlprovider是DNN的默认ur重新布线器,规则写入siteurls.config和DNN 9:

<?xml version="1.0" encoding="utf-8" ?>
<RewriterConfig>
    <Rules>
        <RewriterRule>
            <LookFor>.*DesktopDefault.aspx(.*)</LookFor>
            <SendTo>~/Default.aspx$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>.*EditModule.aspx(.*)</LookFor>
            <SendTo>~/Default.aspx$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>.*/TabId/(\d+)(.*)/Logoff.aspx</LookFor>
            <SendTo>~/Admin/Security/Logoff.aspx?tabid=$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>.*/TabId/(\d+)(.*)/rss.aspx</LookFor>
            <SendTo>~/rss.aspx?TabId=$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>.*Telerik.RadUploadProgressHandler.ashx(.*)</LookFor>
            <SendTo>~/Telerik.RadUploadProgressHandler.ashx$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>[^?]*/TabId/(\d+)(.*)</LookFor>
            <SendTo>~/Default.aspx?TabId=$1</SendTo>
        </RewriterRule>
        <RewriterRule>
            <LookFor>.*BannerClickThrough.aspx(.*)</LookFor>
            <SendTo>~/DesktopModules/Admin/Banners/BannerClickThrough.aspx$1</SendTo>
        </RewriterRule>
 <RewriterRule>
            <LookFor>.*/m/(\d+)(.*)</LookFor>
            <SendTo>~/rss.aspx?TabId=$1</SendTo>
        </RewriterRule>
        </Rules>

</RewriterConfig>

*DesktopDefault.aspx(.*
~/Default.aspx$1
*EditModule.aspx(.*)
~/Default.aspx$1
.*/TabId/(\d+)(.*)/Logoff.aspx
~/Admin/Security/Logoff.aspx?tabid=$1
.*/TabId/(\d+)(.*)/rss.aspx
~/rss.aspx?TabId=$1
*Telerik.RadUploadProgressHandler.ashx(.*)
~/Telerik.RadUploadProgressHandler.ashx$1
[^?]*/TabId/(\d+)(*)
~/Default.aspx?TabId=$1
*BannerClickThrough.aspx(.*)
~/DesktopModules/Admin/Banners/BannerClickThrough.aspx$1
.*/m/(\d+)(**)
~/rss.aspx?TabId=$1
现在,我为新的url模式添加了新规则:

<RewriterRule>
        <LookFor>.*/m/(\d+)(.*)</LookFor>
        <SendTo>~/Default.aspx?TabId=$1</SendTo>
    </RewriterRule>

.*/m/(\d+)(**)
~/Default.aspx?TabId=$1
应用程序池已重新启动,日志文件夹中未写入任何错误,但我添加的重写规则无效。
http://domain.com/m/123 --> http://domain.com/Default.aspx?TabId=123

该方法也已经过测试:

  • 在我的IIS上安装了urlrewrite扩展 ()
  • 添加了以下代码 dnn站点的web.config标记的代码段:

  • 您使用的是哪个版本的DNN?DNN 7.1+@ChrisHammond DNN9中还有其他各种处理方式。您可能需要调整SEO/URL管理/表达式设置:站点URL仅正则表达式以包含该/m/path,我不是100%确定我已经创建了第三方模块来实现这一点,但我想通过iis配置或自己的DNN手动实现。dnn9中是否有其他信息?