xamarin-forms-docs/web.config

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>