У меня проблема с попыткой переписать URL. У меня есть веб-сайт DNN, и для перенаправления URL-адресов мы используем модуль iFinity Friendly Urls.
Мы определили некоторые URL-адреса в файле SiteUrls.config приложения DNN. У нас есть это правило перенаправления:
<RewriterRule>
<LookFor>/sitemap.aspx</LookFor>
<SendTo>/sitemap.xml</SendTo>
</RewriterRule>
Это работает правильно, когда мы вызываем этот URL:
http://mysite.com/sitemap.aspx
Несмотря на то, что когда мы пытаемся вызвать файл напрямую, используя URL-адрес:
http://mysite.com/sitemap.xml
Это не работает !!
Мы настроили раздел Regex Settings модуля iFinity, поэтому в нашем файле 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="(?<!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>