Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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
如何在DNN中使用带Ifinity友好url模块的xml扩展名调用xml文件?_Xml_Url Rewriting_Dotnetnuke - Fatal编程技术网

如何在DNN中使用带Ifinity友好url模块的xml扩展名调用xml文件?

如何在DNN中使用带Ifinity友好url模块的xml扩展名调用xml文件?,xml,url-rewriting,dotnetnuke,Xml,Url Rewriting,Dotnetnuke,我有一个问题,试图使工作的url重写。我有一个DNN网站,对于url重定向,我们使用iFinity友好的url模块 我们在DNN应用程序的SiteUrls.config文件中定义了一些URL。我们有这个重定向规则: <RewriterRule> <LookFor>/sitemap.aspx</LookFor> <SendTo>/sitemap.xml</SendTo> </RewriterRule>

我有一个问题,试图使工作的url重写。我有一个DNN网站,对于url重定向,我们使用iFinity友好的url模块

我们在DNN应用程序的SiteUrls.config文件中定义了一些URL。我们有这个重定向规则:

  <RewriterRule>
    <LookFor>/sitemap.aspx</LookFor>
    <SendTo>/sitemap.xml</SendTo>
  </RewriterRule>

/sitemap.aspx
/sitemap.xml
当我们调用此url时,此功能正常工作:

尽管如此,当我们尝试直接调用文件时,使用如下url:

它不起作用

我们配置了iFinity模块的Regex设置部分,因此我们的web.config文件中包含以下内容:

<friendlyUrl defaultProvider="iFinity.UrlMaster">
      <providers>
        <clear />
        <add name="iFinity.UrlMaster" type="iFinity.DNN.Modules.UrlMaster.DNNFriendlyUrlProvider, iFinity.UrlMaster.FriendlyUrlProvider" urlFormat="HumanFriendly" replaceSpaceWith="-" pageExtensionUsage="Never" forceLowerCase="true" useBaseFriendlyUrls="Search Results" useSiteUrlsRegex="/rss\.aspx|Telerik.RadUploadProgressHandler\.ashx|BannerClickThrough\.aspx|/Admin/[^/]+/Tabid/\d+/.*default\.aspx|/Host/[^/]+/Tabid/\d+/.*default\.aspx|/sitemap\.xml" ignoreRegex="(?&lt;!linkclick\.aspx.+)(?:\.pdf$|\.gif$|\.png($|\?)|\.css$|\.js($|\?)|\.jpg$|\.html$|\.htm$|\.axd($|\?)|\.swf$|\.flv$|\.ico$|\.xml($|\?)|\.txt$)" />
        <add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="humanfriendly" />
      </providers>
    </friendlyUrl>

如果您使用的是IIS7,请尝试在常规站点地图处理程序之后添加它

      <add name="SitemapXmlHandler" path="Sitemap.xml" verb="*" type="DotNetNuke.Services.Sitemap.SitemapHandler, DotNetNuke" preCondition="integratedMode" />

如果您使用的是IIS7,请尝试在常规站点地图处理程序之后添加它

      <add name="SitemapXmlHandler" path="Sitemap.xml" verb="*" type="DotNetNuke.Services.Sitemap.SitemapHandler, DotNetNuke" preCondition="integratedMode" />

当您尝试直接转到sitemap.xml时,了解发生了什么会有所帮助

尝试告诉UrlMaster忽略sitemap.xml,如下所示:

<add name="iFinity.UrlMaster" type="iFinity.DNN.Modules.UrlMaster.DNNFriendlyUrlProvider, iFinity.UrlMaster.FriendlyUrlProvider" urlFormat="HumanFriendly" replaceSpaceWith="-" pageExtensionUsage="Never" forceLowerCase="true" useBaseFriendlyUrls="Search Results" useSiteUrlsRegex="/rss\.aspx|Telerik.RadUploadProgressHandler\.ashx|BannerClickThrough\.aspx|/Admin/[^/]+/Tabid/\d+/.*default\.aspx|/Host/[^/]+/Tabid/\d+/.*default\.aspx|sitemap\.xml" ignoreRegex="(?&lt;!linkclick\.aspx.+)(?:\.pdf$|\.gif$|\.png($|\?)|\.css$|\.js($|\?)|\.jpg$|\.html$|\.htm$|\.axd($|\?)|\.swf$|\.flv$|\.ico$|\.xml($|\?)|\.txt$)" />`
`

我在
useSiteUrlsRegex

中删除了sitemap.xml中的/当您尝试直接转到sitemap.xml时,了解发生了什么会有所帮助

尝试告诉UrlMaster忽略sitemap.xml,如下所示:

<add name="iFinity.UrlMaster" type="iFinity.DNN.Modules.UrlMaster.DNNFriendlyUrlProvider, iFinity.UrlMaster.FriendlyUrlProvider" urlFormat="HumanFriendly" replaceSpaceWith="-" pageExtensionUsage="Never" forceLowerCase="true" useBaseFriendlyUrls="Search Results" useSiteUrlsRegex="/rss\.aspx|Telerik.RadUploadProgressHandler\.ashx|BannerClickThrough\.aspx|/Admin/[^/]+/Tabid/\d+/.*default\.aspx|/Host/[^/]+/Tabid/\d+/.*default\.aspx|sitemap\.xml" ignoreRegex="(?&lt;!linkclick\.aspx.+)(?:\.pdf$|\.gif$|\.png($|\?)|\.css$|\.js($|\?)|\.jpg$|\.html$|\.htm$|\.axd($|\?)|\.swf$|\.flv$|\.ico$|\.xml($|\?)|\.txt$)" />`
`
我在
useSiteUrlsRegex