aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/webserver-configs/web.config
diff options
context:
space:
mode:
Diffstat (limited to 'main/webserver-configs/web.config')
-rwxr-xr-xmain/webserver-configs/web.config92
1 files changed, 92 insertions, 0 deletions
diff --git a/main/webserver-configs/web.config b/main/webserver-configs/web.config
new file mode 100755
index 0000000..96b3a00
--- /dev/null
+++ b/main/webserver-configs/web.config
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Unlike apache and *ngix, IIS will likely require additional configuration that cannot be safely defined, or defined at all in a web.config file.
+ If odd behaviour occurs:
+ 1. Ensure web.config settings are being applied, as IIS can be configured to ignore specific web.config settings.
+ 2. If there is an IIS error page, try the suggested solutions.
+ 3. See if anyone on the web has encountered the same issue, and try the suggested solutions.
+ 4. And as a last resort, ask in the UserFrosting chat support channel. http://chat.userfrosting.com -->
+<configuration>
+ <system.webServer>
+ <!-- Most default installs of PHP in IIS only accept GET and POST HTTP verbs.
+ If using the account functionality of UserFrosting, additional HTTP verbs will need to be added to the PHP handler.
+ Specifically, PUT and DELETE are required.
+ Sample PHP handler definition follows.
+ <handlers>
+ <add name="PHP_via_FastCGI" path="*.php" verb="GET,POST,PUT,DELETE" modules="FastCgiModule" scriptProcessor="path/to/php/directory/php-cgi.exe" resourceType="Either" />
+ </handlers>-->
+ <rewrite>
+ <!-- Rules to clean url, and ensure requests are handled by PHP when appropriate. -->
+ <rules>
+ <!-- Clear any inherited rules -->
+ <clear />
+ <!-- Dynamically rewrite base directory to remove index.php from url. -->
+ <rule name="Remove .../index.php/... from url">
+ <match url="^index\.php/(.*)$" />
+ <action type="Redirect" redirectType="Permanent" url="{R:1}" />
+ </rule>
+ <!-- Remove trailing slash from any non-directory path (canonicalization) - GET requests only. -->
+ <rule name="Remove trailing slash">
+ <match url="(.*)/$" />
+ <conditions>
+ <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
+ </conditions>
+ <action type="Redirect" redirectType="Permanent" url="{R:1}" />
+ </rule>
+ <!-- Send the URI to index.php (Slim routing) if url maps to neither a directory, or file. -->
+ <rule name="Rewrite to index.php" stopProcessing="true">
+ <match url=".*" />
+ <conditions>
+ <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
+ <add input="{REQUEST_FILEDIR}" matchType="IsDirectory" negate="true" />
+ </conditions>
+ <action type="Rewrite" url="index.php" />
+ </rule>
+ </rules>
+ </rewrite>
+ <!-- Set index.php as default document, and clear inherited defaults. -->
+ <defaultDocument enabled="true">
+ <files>
+ <clear />
+ <add value="index.php" />
+ </files>
+ </defaultDocument>
+ <!-- Whitelist specific static file types -->
+ <staticContent>
+ <!-- Clear inherited rules -->
+ <clear />
+ <!-- Set content expiration time (31 days for every static file listed) -->
+ <!--<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="31.00:00:00" />-->
+ <!-- Atom feeds -->
+ <mimeMap fileExtension=".atom" mimeType="application/atom+xml" />
+ <mimeMap fileExtension=".xml" mimeType="application/atom+xml, application/rss+xml, application/xhtml+xml, application/xml, text/xml" />
+ <!-- JS -->
+ <mimeMap fileExtension=".js" mimeType="application/js" />
+ <!-- JSON -->
+ <mimeMap fileExtension=".json" mimeType="application/json" />
+ <!-- EOT font -->
+ <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
+ <!-- TTF fonts -->
+ <mimeMap fileExtension=".ttf" mimeType="application/x-font-ttf" />
+ <!-- Web App Manifest -->
+ <mimeMap fileExtension=".webapp" mimeType="application/x-web-app-manifest+json" />
+ <!-- XHTML -->
+ <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" />
+ <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" />
+ <mimeMap fileExtension=".html" mimeType="application/xhtml+xml" />
+ <mimeMap fileExtension=".htm" mimeType="application/xhtml+xml" />
+ <!-- Images -->
+ <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
+ <mimeMap fileExtension=".png" mimeType="image/png" />
+ <mimeMap fileExtension=".ico" mimeType="image/x-icon" />
+ <!-- WOFF/2 fonts -->
+ <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
+ <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
+ <!-- CSS -->
+ <mimeMap fileExtension=".css" mimeType="text/css" />
+ <!-- Plain text -->
+ <mimeMap fileExtension=".txt" mimeType="text/plain" />
+ <!-- HTML Component -->
+ <mimeMap fileExtension=".htc" mimeType="text/x-component" />
+ </staticContent>
+ </system.webServer>
+</configuration> \ No newline at end of file