Make WordPress Core


Ignore:
Timestamp:
09/27/2012 06:07:21 AM (12 years ago)
Author:
markjaquith
Message:

Make Multisite work when WordPress is installed in a subdirectory. You can now have WordPress Multisite as an SVN external or a Git submodule! props johnjamesjacoby, evansolomon, duck_, jakemgold, nacin, markjaquith. see #19796

File:
1 edited

Legend:

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

    r21823 r22042  
    17301730            <rules>';
    17311731        }
    1732         if ( !is_multisite() ) {
    1733             $rules .= '
    1734                 <rule name="wordpress" patternSyntax="Wildcard">
    1735                     <match url="*" />
    1736                         <conditions>
    1737                             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    1738                             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    1739                         </conditions>
    1740                     <action type="Rewrite" url="index.php" />
    1741                 </rule>';
    1742         } else {
    1743             if (is_subdomain_install()) {
    1744                 $rules .= '
    1745                 <rule name="WordPress Rule 1" stopProcessing="true">
    1746                     <match url="^index\.php$" ignoreCase="false" />
    1747                     <action type="None" />
    1748                 </rule>';
    1749                 if ( get_site_option( 'ms_files_rewriting' ) ) {
    1750                     $rules .= '
    1751                 <rule name="WordPress Rule for Files" stopProcessing="true">
    1752                     <match url="^files/(.+)" ignoreCase="false" />
    1753                     <action type="Rewrite" url="wp-includes/ms-files.php?file={R:1}" appendQueryString="false" />
    1754                 </rule>';
    1755                 }
    1756                 $rules .= '
    1757                 <rule name="WordPress Rule 2" stopProcessing="true">
    1758                     <match url="^" ignoreCase="false" />
    1759                     <conditions logicalGrouping="MatchAny">
    1760                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
    1761                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
     1732
     1733        $rules .= '
     1734            <rule name="wordpress" patternSyntax="Wildcard">
     1735                <match url="*" />
     1736                    <conditions>
     1737                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
     1738                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    17621739                    </conditions>
    1763                     <action type="None" />
    1764                 </rule>
    1765                 <rule name="WordPress Rule 3" stopProcessing="true">
    1766                     <match url="." ignoreCase="false" />
    1767                     <action type="Rewrite" url="index.php" />
    1768                 </rule>';
    1769             } else {
    1770                 $rules .= '
    1771                 <rule name="WordPress Rule 1" stopProcessing="true">
    1772                     <match url="^index\.php$" ignoreCase="false" />
    1773                     <action type="None" />
    1774                 </rule>';
    1775                 if ( get_site_option( 'ms_files_rewriting' ) ) {
    1776                     $rules .= '
    1777                 <rule name="WordPress Rule for Files" stopProcessing="true">
    1778                     <match url="^([_0-9a-zA-Z-]+/)?files/(.+)" ignoreCase="false" />
    1779                     <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" />
    1780                 </rule>';
    1781                 }
    1782                 $rules .= '
    1783                 <rule name="WordPress Rule 2" stopProcessing="true">
    1784                     <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" />
    1785                     <action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" />
    1786                 </rule>
    1787                 <rule name="WordPress Rule 3" stopProcessing="true">
    1788                     <match url="^" ignoreCase="false" />
    1789                     <conditions logicalGrouping="MatchAny">
    1790                         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" />
    1791                         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" />
    1792                     </conditions>
    1793                     <action type="None" />
    1794                 </rule>
    1795                 <rule name="WordPress Rule 4" stopProcessing="true">
    1796                     <match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" />
    1797                     <action type="Rewrite" url="{R:1}" />
    1798                 </rule>
    1799                 <rule name="WordPress Rule 5" stopProcessing="true">
    1800                     <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" />
    1801                     <action type="Rewrite" url="{R:2}" />
    1802                 </rule>
    1803                 <rule name="WordPress Rule 6" stopProcessing="true">
    1804                     <match url="." ignoreCase="false" />
    1805                     <action type="Rewrite" url="index.php" />
    1806                 </rule>';
    1807             }
    1808         }
     1740                <action type="Rewrite" url="index.php" />
     1741            </rule>';
     1742
    18091743        if ( $add_parent_tags ) {
    18101744            $rules .= '
Note: See TracChangeset for help on using the changeset viewer.