Make WordPress Core


Ignore:
Timestamp:
05/25/2010 05:12:47 AM (14 years ago)
Author:
wpmuguru
Message:

update rewrite rules for IIS, props Frumph, see #12758

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/rewrite.php

    r14404 r14871  
    17581758        if ( ! $this->using_permalinks() )
    17591759            return '';
    1760 
     1760        $rules = '';
     1761        $extra_indent = '';
     1762        if ( $add_parent_tags ) {
     1763            $rules .= "<configuration>".$end_of_line;
     1764            $rules .= $indent."<system.webServer>".$end_of_line;
     1765            $rules .= $indent.$indent."<rewrite>".$end_of_line;
     1766            $rules .= $indent.$indent.$indent."<rules>".$end_of_line;
     1767            $extra_indent = $indent.$indent.$indent.$indent;
     1768        }
    17611769        if ( !is_multisite() ) {
    1762             $rules = '';
    1763             $extra_indent = '';
    17641770            if ( $add_parent_tags ) {
    17651771                $rules .= "<configuration>".$end_of_line;
     
    17791785            $rules .= $extra_indent."</rule>";
    17801786
    1781             if ( $add_parent_tags ) {
    1782                 $rules .= $end_of_line.$indent.$indent.$indent."</rules>".$end_of_line;
    1783                 $rules .= $indent.$indent."</rewrite>".$end_of_line;
    1784                 $rules .= $indent."</system.webServer>".$end_of_line;
    1785                 $rules .= "</configuration>";
     1787        } else {
     1788            if (is_subdomain_install()) {
     1789                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 1\" stopProcessing=\"true\">".$end_of_line;
     1790                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^index\.php$\" ignoreCase=\"false\" />".$end_of_line;
     1791                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
     1792                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1793                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 2\" stopProcessing=\"true\">".$end_of_line;
     1794                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^files/(.+)\" ignoreCase=\"false\" />".$end_of_line;
     1795                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"wp-includes/ms-files.php?file={R:1}\" appendQueryString=\"false\" />".$end_of_line;
     1796                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1797                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 3\" stopProcessing=\"true\">".$end_of_line;
     1798                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^\" ignoreCase=\"false\" />".$end_of_line;
     1799                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<conditions logicalGrouping=\"MatchAny\">".$end_of_line;
     1800                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" ignoreCase=\"false\" />".$end_of_line;
     1801                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" />".$end_of_line;
     1802                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."</conditions>".$end_of_line;
     1803                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
     1804                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1805                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 4\" stopProcessing=\"true\">".$end_of_line;
     1806                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\".\" ignoreCase=\"false\" />".$end_of_line;
     1807                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
     1808                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1809            } else {
     1810                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 1\" stopProcessing=\"true\">".$end_of_line;
     1811                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^index\.php$\" ignoreCase=\"false\" />".$end_of_line;
     1812                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
     1813                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1814                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 2\" stopProcessing=\"true\">".$end_of_line;
     1815                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?files/(.+)\" ignoreCase=\"false\" />".$end_of_line;
     1816                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"wp-includes/ms-files.php?file={R:2}\" appendQueryString=\"false\" />".$end_of_line;
     1817                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1818                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 3\" stopProcessing=\"true\">".$end_of_line;
     1819                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?wp-admin$\" ignoreCase=\"false\" />".$end_of_line;
     1820                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Redirect\" url=\"{R:1}wp-admin/\" redirectType=\"Permanent\" />".$end_of_line;
     1821                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1822                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 4\" stopProcessing=\"true\">".$end_of_line;
     1823                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^\" ignoreCase=\"false\" />".$end_of_line;
     1824                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<conditions logicalGrouping=\"MatchAny\">".$end_of_line;
     1825                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" ignoreCase=\"false\" />".$end_of_line;
     1826                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent.$indent."<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" ignoreCase=\"false\" />".$end_of_line;
     1827                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."</conditions>".$end_of_line;
     1828                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"None\" />".$end_of_line;
     1829                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1830                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 5\" stopProcessing=\"true\">".$end_of_line;
     1831                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)\" ignoreCase=\"false\" />".$end_of_line;
     1832                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"{R:2}\" />".$end_of_line;
     1833                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1834                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 6\" stopProcessing=\"true\">".$end_of_line;
     1835                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\"^([_0-9a-zA-Z-]+/)?(.*\.php)$\" ignoreCase=\"false\" />".$end_of_line;
     1836                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"{R:2}\" />".$end_of_line;
     1837                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
     1838                $rules .= $extra_indent.$indent.$indent.$indent.$indent."<rule name=\"wordpress - Rule 7\" stopProcessing=\"true\">".$end_of_line;
     1839                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<match url=\".\" ignoreCase=\"false\" />".$end_of_line;
     1840                $rules .= $extra_indent.$indent.$indent.$indent.$indent.$indent."<action type=\"Rewrite\" url=\"index.php\" />".$end_of_line;
     1841                $rules .= $extra_indent.$indent.$indent.$indent.$indent."</rule>".$end_of_line;
    17861842            }
    1787         } else {
    1788             $siteurl = get_option( 'siteurl' );
    1789             $siteurl_len = strlen( $siteurl );
    1790             if ( substr( WP_CONTENT_URL, 0, $siteurl_len ) == $siteurl && strlen( WP_CONTENT_URL ) > $siteurl_len )
    1791                 $content_path = substr( WP_CONTENT_URL, $siteurl_len + 1 );
    1792             else
    1793                 $content_path = 'wp-content';
    1794             $rules = '<rule name="wordpress - strip index.php" stopProcessing="false">
    1795                     <match url="^index.php/(.*)$" />
    1796                         <action type="Rewrite" url="{R:1}" />
    1797                     </rule>
    1798                     <rule name="wordpress - 1" stopProcessing="true">
    1799                         <match url="^(.*/)?files/$" />
    1800                         <action type="Rewrite" url="index.php" />
    1801                     </rule>
    1802                     <rule name="wordpress - 2" stopProcessing="true">
    1803                         <match url="^(.*/)?files/(.*)" />
    1804                         <conditions>
    1805                             <add input="{REQUEST_URI}" negate="true" pattern=".*' . $content_path . '/plugins.*"/>
    1806                         </conditions>
    1807                         <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
    1808                     </rule>
    1809                     <rule name="wordpress - 3" stopProcessing="true">
    1810                         <match url="^(.+)$" />
    1811                         <conditions>
    1812                             <add input="{REQUEST_URI}" pattern="^.*/wp-admin$" />
    1813                         </conditions>
    1814                         <action type="Redirect" url="{R:1}/" redirectType="Permanent" />
    1815                     </rule>
    1816                     <rule name="wordpress - 4" stopProcessing="true">
    1817                         <match url="."/>
    1818                         <conditions logicalGrouping="MatchAny">
    1819                             <add input="{REQUEST_FILENAME}" matchType="IsFile" pattern="" />
    1820                             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" pattern="" />
    1821                         </conditions>
    1822                         <action type="None" />
    1823                     </rule>
    1824                     <rule name="wordpress - 5" stopProcessing="true">
    1825                         <match url="^([_0-9a-zA-Z-]+/)?(wp-.*)" />
    1826                         <action type="Rewrite" url="{R:2}" />
    1827                     </rule>
    1828                     <rule name="wordpress - 6" stopProcessing="true">
    1829                         <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" />
    1830                         <action type="Rewrite" url="{R:2}" />
    1831                     </rule>
    1832                     <rule name="wordpress - 7" stopProcessing="true">
    1833                         <match url="." />
    1834                         <action type="Rewrite" url="index.php" />
    1835                     </rule>';
    1836         }
    1837 
     1843        }
     1844        if ( $add_parent_tags ) {
     1845            $rules .= $end_of_line.$indent.$indent.$indent."</rules>".$end_of_line;
     1846            $rules .= $indent.$indent."</rewrite>".$end_of_line;
     1847            $rules .= $indent."</system.webServer>".$end_of_line;
     1848            $rules .= "</configuration>";
     1849        }
    18381850        $rules = apply_filters('iis7_url_rewrite_rules', $rules);
    18391851
Note: See TracChangeset for help on using the changeset viewer.