297 строки
17 KiB
XML
297 строки
17 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<configuration>
|
|
|
|
<appSettings>
|
|
<clear />
|
|
</appSettings>
|
|
|
|
<system.web>
|
|
<httpRuntime maxRequestLength="102400" maxUrlLength="102400" maxQueryStringLength="10000" requestValidationType="System.Web.Util.RequestValidator" />
|
|
|
|
<httpModules>
|
|
<clear />
|
|
</httpModules>
|
|
|
|
<httpHandlers>
|
|
<clear />
|
|
</httpHandlers>
|
|
</system.web>
|
|
|
|
<system.webServer>
|
|
<validation validateIntegratedModeConfiguration="false" />
|
|
<modules runAllManagedModulesForAllRequests="true">
|
|
<remove name="ClaimsPrincipalHttpModule" />
|
|
<remove name="SitefinityClaimsAuthenticationModule" />
|
|
<remove name="Sitefinity" />
|
|
<remove name="SessionAuthenticationModule" />
|
|
<remove name="ScriptModule" />
|
|
<remove name="RadUploadModule" />
|
|
<remove name="SitefinityAnalyticsModule" />
|
|
</modules>
|
|
<handlers>
|
|
<remove name="xamlx-64" />
|
|
<remove name="xamlx-script" />
|
|
<remove name="svc-64" />
|
|
<remove name="svc-script" />
|
|
<remove name="xamlx" />
|
|
<remove name="svc" />
|
|
<remove name="ScriptHandlerFactory" />
|
|
<remove name="ScriptHandlerFactoryAppServices" />
|
|
<remove name="ScriptResource" />
|
|
<remove name="WildCard" />
|
|
<remove name="WildCard32" />
|
|
<remove name="Telerik.Web.UI.DialogHandler" />
|
|
<remove name="Telerik.RadUploadProgressHandler" />
|
|
<remove name="Telerik.Sitefinity.FilesDownloadHandler" />
|
|
<remove name="Telerik.Sitefinity.ExportSubscribersHttpHandler" />
|
|
<remove name="Telerik.Sitefinity.LibrariesRadUploadHandler" />
|
|
<remove name="Telerik.Sitefinity.Html5UploadHandler" />
|
|
<remove name="Telerik.Sitefinity.ThumbnailUploadHandler" />
|
|
<remove name="Telerik.Sitefinity.AsyncImageUploadHandler" />
|
|
<remove name="Telerik.Sitefinity.AsyncFileUploadHandler" />
|
|
<remove name="Telerik.Sitefinity.AsyncToolsetXmlUploadHandler" />
|
|
<remove name="Telerik.Web.UI.SpellCheckHandler" />
|
|
<remove name="Telerik_Web_UI_WebResource_axd" />
|
|
<remove name="Telerik_Web_UI_DialogHandler_aspx" />
|
|
<remove name="Telerik.ReportViewer.axd_*" />
|
|
</handlers>
|
|
|
|
<rewrite>
|
|
<rules>
|
|
<clear />
|
|
<rule name="index" enabled="true" stopProcessing="true">
|
|
<match url="^/?$" />
|
|
<action type="Redirect" url="introduction" redirectType="Permanent" />
|
|
</rule>
|
|
|
|
<rule name="Redirect to https" stopProcessing="true">
|
|
<match url=".*" />
|
|
<conditions>
|
|
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
|
|
</conditions>
|
|
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
|
|
</rule>
|
|
<rule name="new-api" enabled="true" stopProcessing="true">
|
|
<match url="apireference/(.*)" ignoreCase="true" />
|
|
<action type="Redirect" url="api" redirectType="Permanent" />
|
|
</rule>
|
|
<rule name="Convert to lower case" enabled="true">
|
|
<match url="^([^?]*[A-Z][^?]*)(\?.*)?" ignoreCase="false" />
|
|
<conditions>
|
|
<add input="{REQUEST_FILENAME}" pattern="\.png|\.css|\.jpg|\.gif" negate="true" />
|
|
</conditions>
|
|
<action type="Redirect" url="{ToLower:{R:1}}{R:2}" redirectType="Permanent" />
|
|
</rule>
|
|
|
|
<rule name="Hide .html ext" enabled="true">
|
|
<match ignoreCase="true" url="^(.*)"/>
|
|
<conditions>
|
|
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
|
|
<add input="{REQUEST_FILENAME}" pattern="\.png|\.css|\.jpg|\.gif" negate="true" />
|
|
<add input="{REQUEST_FILENAME}.html" matchType="IsFile"/>
|
|
</conditions>
|
|
<action type="Rewrite" url="{ToLower:{R:0}.html}"/>
|
|
</rule>
|
|
|
|
<rule name="Redirecting .html ext" enabled="true">
|
|
<match url="^(.*)[.]html$"/>
|
|
<conditions logicalGrouping="MatchAny">
|
|
<add input="{URL}" pattern="(.*)[.]html$"/>
|
|
</conditions>
|
|
<action type="Redirect" url="{ToLower:{R:1}}"/>
|
|
</rule>
|
|
<rule name="redirect-cloud-integration" enabled="true" stopProcessing="true">
|
|
<match url="cloud-integration/([0-9A-Za-z]+\/?)+/" />
|
|
<action type="Redirect" url="introduction" redirectType="Permanent" />
|
|
</rule>
|
|
<rule name="redirect-latest-internal-build" enabled="true" stopProcessing="true">
|
|
<match url="installation-and-deployment/latest-internal-builds" />
|
|
<action type="Redirect" url="installation-and-deployment/download-product-files" />
|
|
</rule>
|
|
<rule name="redirect-projectwizrd" enabled="true" stopProcessing="true">
|
|
<match url="installation-and-deployment/project-wizard" />
|
|
<action type="Redirect" url="installation-and-deployment/windows/project-wizard" />
|
|
</rule>
|
|
<rule name="redirect-xamarin-demos" enabled="true" stopProcessing="true">
|
|
<match url="^sdk-browser-overview" />
|
|
<action type="Redirect" url="demos-and-sample-apps/sdk-browser-overview" />
|
|
</rule>
|
|
<rule name="redirect-button-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="^controls/button/getting-started/button-getting-started" />
|
|
<action type="Redirect" url="controls/button/button-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-button-key-features" enabled="true" stopProcessing="true">
|
|
<match url="controls/button/features/button-key-features" />
|
|
<action type="Redirect" url="controls/button/button-key-features" />
|
|
</rule>
|
|
<rule name="redirect-barcode-2d-pdf417" enabled="true" stopProcessing="true">
|
|
<match url="controls/barcode/supported-types/2d-barcodes/pdf417/barcode-pdf417-overview" />
|
|
<action type="Redirect" url="controls/barcode/supported-types/2d-barcodes/barcode-pdf417-overview" />
|
|
</rule>
|
|
<rule name="redirect-barcode-2d-qrcode" enabled="true" stopProcessing="true">
|
|
<match url="controls/barcode/supported-types/2d-barcodes/qrcode/barcode-qrcode-overview" />
|
|
<action type="Redirect" url="controls/barcode/supported-types/2d-barcodes/barcode-qrcode-overview" />
|
|
</rule>
|
|
<rule name="redirect-calendar-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="^controls/calendar/getting-started/calendar-getting-started" />
|
|
<action type="Redirect" url="controls/calendar/calendar-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-chart-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="controls/chart/getting-started/chart-getting-started" />
|
|
<action type="Redirect" url="controls/chart/chart-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-dataform-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="controls/dataform/getting-started/dataform-getting-started" />
|
|
<action type="Redirect" url="controls/dataform/dataform-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-listview-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/getting-started/listview-getting-started" />
|
|
<action type="Redirect" url="controls/listview/listview-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-listview-getting-started_1" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/getting-started/" />
|
|
<action type="Redirect" url="controls/listview/listview-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-listview-gestures-cell-swipe" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-cell-swipe" />
|
|
<action type="Redirect" url="controls/listview/gestures/listview-gestures-cell-swipe" />
|
|
</rule>
|
|
<rule name="redirect-listview-gestures-pull-to-refresh" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/gestures/listview-efatures-pull-to-refresh" />
|
|
<action type="Redirect" url="controls/listview/gestures/listview-gestures-pull-to-refresh" />
|
|
</rule>
|
|
<rule name="redirect-listview-features-layouts" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-layouts" />
|
|
<action type="Redirect" url="controls/listview/listview-features-layouts" />
|
|
</rule>
|
|
<rule name="redirect-listview-selection" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-selection" />
|
|
<action type="Redirect" url="controls/listview/listview-features-selection" />
|
|
</rule>
|
|
<rule name="redirect-listview-grouping" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-grouping" />
|
|
<action type="Redirect" url="controls/listview/grouping/listview-features-grouping" />
|
|
</rule>
|
|
<rule name="redirect-listview-sorting" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-sorting" />
|
|
<action type="Redirect" url="controls/listview/listview-features-sorting" />
|
|
</rule>
|
|
<rule name="redirect-listview-filtering" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-filtering" />
|
|
<action type="Redirect" url="controls/listview/listview-features-filtering" />
|
|
</rule>
|
|
<rule name="redirect-listview-load-on-demand" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-load-on-demand" />
|
|
<action type="Redirect" url="controls/listview/listview-features-load-on-demand" />
|
|
</rule>
|
|
<rule name="redirect-listview-scrolling" enabled="true" stopProcessing="true">
|
|
<match url="controls/listview/features/listview-features-scrolling" />
|
|
<action type="Redirect" url="ontrols/listview/listview-features-scrolling" />
|
|
</rule>
|
|
<rule name="redirect-sidedrawer-getting-started" enabled="true" stopProcessing="true">
|
|
<match url="controls/sidedrawer/getting-started/sidedrawer-getting-started" />
|
|
<action type="Redirect" url="controls/sidedrawer/sidedrawer-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-calendar-cell-types" enabled="true" stopProcessing="true">
|
|
<match url="controls/calendar/calendar-cell-types" />
|
|
<action type="Redirect" url="controls/sidedrawer/getting-started/sidedrawer-getting-started" />
|
|
</rule>
|
|
<rule name="redirect-calendar-styling" enabled="true" stopProcessing="true">
|
|
<match url="controls/calendar/features/calendar-styling"/>
|
|
<action type="Redirect" url="controls/calendar/styling/calendar-styling-display-mode" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-selection" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/selection" />
|
|
<action type="Redirect" url="controls/datagrid/selection" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-grouping" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/grouping" />
|
|
<action type="Redirect" url="controls/datagrid/grouping" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-filtering" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/filtering" />
|
|
<action type="Redirect" url="controls/datagrid/filtering" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-sorting" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/sorting" />
|
|
<action type="Redirect" url="controls/datagrid/sorting" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-localization" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/localization" />
|
|
<action type="Redirect" url="controls/datagrid/localization" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-load_on_demand" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/load_on_demand" />
|
|
<action type="Redirect" url="controls/datagrid/load_on_demand" />
|
|
</rule>
|
|
<rule name="redirect-datagrid-commands" enabled="true" stopProcessing="true">
|
|
<match url="controls/datagrid/features/commands" />
|
|
<action type="Redirect" url="controls/datagrid/commands" />
|
|
</rule>
|
|
<rule name="redirect-lite-assemblies" enabled="true" stopProcessing="true">
|
|
<match url="liteassemblies"/>
|
|
<action type="Redirect" url="installation-and-deployment/skia-vs-noskia.html"/>
|
|
</rule>
|
|
<rule name="redirect-calendar-navigation-and-view-mode" enabled="true" stopProcessing="true">
|
|
<match url="controls/calendar/features/calendar-navigation-and-view-mode" />
|
|
<action type="Redirect" url="controls/calendar/calendar-navigation-and-view-mode" />
|
|
</rule>
|
|
<rule name="redirect-calendar-selection" enabled="true" stopProcessing="true">
|
|
<match url="controls/calendar/features/calendar-selection" />
|
|
<action type="Redirect" url="controls/calendar/calendar-selection" />
|
|
</rule>
|
|
<rule name="redirect-calendar-appointments" enabled="true" stopProcessing="true">
|
|
<match url="controls/calendar/features/calendar-appointments" />
|
|
<action type="Redirect" url="controls/calendar/calendar-appointments" />
|
|
</rule>
|
|
<rule name="redirect-vs-item-templates" enabled="true" stopProcessing="true">
|
|
<match url="installation-and-deployment/custom-item-templates" />
|
|
<action type="Redirect" url="installation-and-deployment/windows/custom-item-templates" />
|
|
</rule>
|
|
<rule name="redirect-android-feedback" enabled="true" stopProcessing="true">
|
|
<match url="nativecontrols/android/feedback/feedback-overview" />
|
|
<action type="Redirect" url="nativecontrols/android/introduction" />
|
|
</rule>
|
|
<rule name="redirect-ios-index" enabled="true" stopProcessing="true">
|
|
<match url="nativecontrols/ios/index" />
|
|
<action type="Redirect" url="nativecontrols/ios/introduction" />
|
|
</rule>
|
|
|
|
{% for directory in site.redirect_directories %}
|
|
<rule name="redirect-{{ directory.path | replace: '/', '-' }}" enabled="true">
|
|
<match url="^{{ directory.path }}/?$" />
|
|
<conditions logicalGrouping="MatchAll">
|
|
<add input="{REQUEST_FILENAME}.html" matchType="IsFile" negate="true" />
|
|
</conditions>
|
|
<action type="Redirect" url="{{ directory.url }}" redirectType="Found" />
|
|
</rule>
|
|
{% endfor %}
|
|
{% for page in site.redirect_pages %} {% for redirect in page.previous_url %}
|
|
<rule name="redirect-{{ redirect | remove_first: '/' | replace: '/', '-' }}" enabled="true" stopProcessing="true">
|
|
<match url="^{{ redirect | remove_first: '/' }}$" />
|
|
<action type="Redirect" url="{{ page.url | remove_first: '/' | replace: '.html', '' }}" />
|
|
</rule>
|
|
{% endfor %}{% endfor %}
|
|
<rule name="add_html_extension" enabled="true" stopProcessing="true">
|
|
<match url="(.*)" />
|
|
<conditions logicalGrouping="MatchAll">
|
|
<add input="{REQUEST_FILENAME}.html" matchType="IsFile" />
|
|
</conditions>
|
|
<action type="Rewrite" url="{R:1}.html" />
|
|
</rule>
|
|
</rules>
|
|
</rewrite>
|
|
<staticContent>
|
|
<remove fileExtension=".json" />
|
|
<mimeMap fileExtension=".json" mimeType="application/json" />
|
|
<remove fileExtension=".woff" />
|
|
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
|
|
</staticContent>
|
|
<httpErrors errorMode="Custom" defaultResponseMode="File" >
|
|
<remove statusCode="404" />
|
|
<error statusCode="404" path="40x.html" />
|
|
</httpErrors>
|
|
</system.webServer>
|
|
|
|
</configuration>
|