Documentation Index

Fetch the complete documentation index at: https://docs.document360.com/llms.txt

Use this file to discover all available pages before exploring further.

Microsoft - IIS server

Prev Next

Hosting your Document360 knowledge base in a subfolder on IIS, such as example.document360.io/help, lets you serve your documentation directly within your existing domain using URL rewrite rules.

Replace the example domain in the configuration below with your own Document360-provided domain or custom domain.


Before you begin

  • Subfolder hosting works only when both the Subfolder path (for example, /docs) and the Site API path (for example, /api) are defined in Document360, with matching configuration on your server.
  • Install the Application Request Routing module for IIS.
  • Install the URL Rewrite module for IIS.

How to configure a subfolder path in IIS

  1. Install the URL Rewrite module for IIS.
  2. Install the Application Request Routing module and confirm it's enabled.
  3. Add the following rewrite rule to web.config to route content from your documentation at /help:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxy_HomePage" enabled="true" stopProcessing="true">
                    <match url="^help$" />
                    <action type="Rewrite" url="https://example.document360.io/v1" />
                    <serverVariables>
                        <set name="HTTP_requested_by" value="proxy" />
                        <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
                        <set name="HTTP_ACCEPT_ENCODING" value="" />
                    </serverVariables>
                </rule>
                <rule name="ReverseProxy_DocsPage" enabled="true" stopProcessing="true">
                    <match url="^help/(.*)" />
                    <action type="Rewrite" url="https://example.document360.io/help/{R:1}" />
                    <serverVariables>
                        <set name="HTTP_requested_by" value="proxy" />
                        <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
                        <set name="HTTP_ACCEPT_ENCODING" value="" />
                    </serverVariables>
                </rule>
                <rule name="ReverseProxy_API" enabled="true" stopProcessing="true">
                    <match url="^api/(.*)" />
                    <action type="Rewrite" url="https://example.document360.io/api/{R:1}" />
                    <serverVariables>
                        <set name="HTTP_requested_by" value="proxy" />
                        <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />
                        <set name="HTTP_ACCEPT_ENCODING" value="" />
                    </serverVariables>
                </rule>
            </rules>
            <outboundRules>
                <rule name="RestoreAcceptEncoding" preCondition="NeedsRestoringAcceptEncoding">
                    <match serverVariable="HTTP_ACCEPT_ENCODING" pattern="^(.*)" />
                    <action type="Rewrite" value="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" />
                </rule>
                <rule name="RewriteLinksToSourceDomain1" preCondition="ResponseIsHtml">
                    <match filterByTags="None" pattern="^https://example.document360.io/(.*)" />
                    <action type="Rewrite" value="https://example.com/{R:1}" />
                </rule>
                <rule name="RewriteLinksToSourceDomain2" preCondition="ResponseIsHtml">
                    <match filterByTags="None" pattern="&quot;/help&quot;" />
                    <action type="Rewrite" value="&quot;/help&quot;" />
                </rule>
                <rule name="RewriteLinksToSourceDomain3" preCondition="ResponseIsHtml" patternSyntax="ECMAScript">
                    <match filterByTags="A" pattern="(.*)/docs/(.*)" />
                    <action type="Rewrite" value="/help/{R:2}" />
                </rule>
                <preConditions>
                    <preCondition name="ResponseIsHtml">
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                    </preCondition>
                    <preCondition name="NeedsRestoringAcceptEncoding">
                        <add input="{HTTP_X_ORIGINAL_ACCEPT_ENCODING}" pattern=" .+" />
                    </preCondition>
                </preConditions>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

The web.config file is located in your IIS root directory. Back up the file before making changes.

NOTE

Replace /docs and /api with the exact values configured under Subfolder path and Site API path in the Document360 portal.


What happens next

Once IIS is configured, your knowledge base site is live on your custom subfolder. The existing Document360 URL continues to serve requests as well — for example, both example.document360.io and example.com/help (if /help is your folder path) will point to your knowledge base site. Replace these example domains with your own, for example yourcompany.document360.io and yourcompany.com/help.

This causes duplicate content in search engines like Google and Bing.

NOTE

To enable a redirect from your Document360 subdomain to your custom subfolder, contact Document360 support.


Best practices

  • Back up web.config before editing it, since a single malformed rule can break IIS routing.
  • Keep the Subfolder path and Site API path identical between the Document360 portal and your IIS rewrite rules to avoid broken routing.
  • Confirm both the Application Request Routing and URL Rewrite modules are installed and enabled before troubleshooting unexpected routing behavior.

FAQ

What is Internet Information Services (IIS)?

IIS is a flexible, secure web server built by Microsoft for hosting websites, applications, and services on Windows. It supports protocols like HTTP, HTTPS, and FTP, and is widely used for web hosting and application deployment in Windows environments.

What is the Application Request Routing (ARR) module?

ARR is an IIS extension that enables load balancing, routes requests to different servers based on rules, and improves application performance.

What is the URL Rewrite module in IIS?

This IIS module lets you create rules for modifying URLs, enabling custom paths for accessing content and redirecting readers seamlessly.

What is the purpose of the web.config file in IIS?

The web.config file stores configuration settings for applications running on IIS, including URL rewrite rules, security settings, and server behavior.