Added web.config support for IIS7 URL rewriting.
authorDan
Thu, 16 Apr 2009 12:47:48 -0400
changeset 930 648043f3911d
parent 929 2e981507dfae
child 931 9575aa88381f
Added web.config support for IIS7 URL rewriting.
install/web.config
language/english/install.json
web.config
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/install/web.config	Thu Apr 16 12:47:48 2009 -0400
@@ -0,0 +1,24 @@
+<!-- Enano CMS - IIS7 Rewrite support (installer's test scenario) -->
+
+<configuration>
+  <configSections>
+    <sectionGroup name="rewriteRules">
+      <section name="rules" overrideModeDefault="Allow" />
+    </sectionGroup>
+  </configSections>
+  <system.webServer>
+    <rewrite>
+      <rules>
+        <rule name="Installation - test requests from installer UI">
+          <match url="(.*)" ignoreCase="false" />
+          <conditions>
+            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
+            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
+          </conditions>
+          <action type="Rewrite" url="install.php?do=modrewrite_test&amp;str={R:1}" appendQueryString="false" />
+        </rule>
+      </rules>
+    </rewrite>
+  </system.webServer>
+</configuration>
+
--- a/language/english/install.json	Thu Apr 16 12:20:48 2009 -0400
+++ b/language/english/install.json	Thu Apr 16 12:47:48 2009 -0400
@@ -275,7 +275,7 @@
       field_urlscheme_opt_shortened: 'Shortened URLs',
       field_urlscheme_opt_shortened_hint: 'This eliminates the "?title=" portion of your URL, and instead uses a slash. This is occasionally more friendly to search engines.',
       field_urlscheme_opt_rewrite: 'Rewritten URLs',
-      field_urlscheme_opt_rewrite_hint: 'Using this option, you can completely eliminate the "index.php" from URLs. This is the most friendly option to search engines and looks very professional, but requires support for URL rewriting on your server. If you\'re running Apache and have the right permissions, Enano can configure this automatically. Otherwise, you\'ll need to configure your server manually and have a knowledge of regular expressions for this option to work.',
+      field_urlscheme_opt_rewrite_hint: 'Using this option, you can completely eliminate the "index.php" from URLs. This is the most friendly option to search engines and looks very professional, but requires support for URL rewriting on your server. Enano can configure this automatically on Apache and some IIS7 servers. Otherwise, you\'ll need a knowledge of regular expressions and it will be necessary to configure your server manually for this option to work.',
       field_urlscheme_opt_tiny: '<span style="font-weight: bold; color: #a00;">(Experimental)</span> Tiny URLs',
       field_urlscheme_opt_tiny_hint: 'This makes URLs very small - close to the size of Rewritten. However it doesn\'t work with every server, and we\'re still trying to experiment to find which servers it works with. If you can\'t use Rewritten URLs, you are encouraged to give this a try and let the Enano team know whether it works for you or not.',
       btn_urlscheme_detect: 'Auto-detect the best formatting scheme',
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web.config	Thu Apr 16 12:47:48 2009 -0400
@@ -0,0 +1,26 @@
+<!-- Enano CMS - IIS7 Rewrite support -->
+
+<configuration>
+  <configSections>
+    <sectionGroup name="rewriteRules">
+      <section name="rules" overrideModeDefault="Allow" />
+    </sectionGroup>
+  </configSections>
+  <system.webServer>
+    <rewrite>
+      <rules>
+        <!-- Main rule - short and sweet-->
+        <rule name="Enano rewritten URLs" stopProcessing="true">
+          <match url="(.*)" ignoreCase="false" />
+          <conditions>
+            <!-- Don't rewrite if the user requested a real directory or file-->
+            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
+            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
+          </conditions>
+          <action type="Rewrite" url="index.php?title={R:1}" appendQueryString="true" />
+        </rule>
+      </rules>
+    </rewrite>
+  </system.webServer>
+</configuration>
+