| @@ -37,14 +37,24 @@ | ||
| 37 | 37 | global $wp_rewrite; |
| 38 | 38 | |
| 39 | 39 | $permastruct = $wp_rewrite->permalink_structure; |
| 40 | 40 | |
| 41 | - if ( ! apache_mod_loaded( 'mod_rewrite', true ) && ! iis7_supports_permalinks() ) | |
| 42 | - $permastruct = preg_replace( '#^/index\.php#', '/index.php/%lang%', $permastruct ); | |
| 43 | - elseif ( is_multisite() && ! is_subdomain_install() && is_main_site() ) | |
| 44 | - $permastruct = preg_replace( '#^/blog#', '/%lang%/blog', $permastruct ); | |
| 45 | - else | |
| 46 | - $permastruct = preg_replace( '#^/#', '/%lang%/', $permastruct ); | |
| 41 | + // from wp-admin/includes/misc.php | |
| 42 | + $got_rewrite = apply_filters( 'got_rewrite', | |
| 43 | + apache_mod_loaded( 'mod_rewrite', true ) ); | |
| 44 | + $got_url_rewrite = apply_filters( 'got_url_rewrite', | |
| 45 | + $got_rewrite || $GLOBALS['is_nginx'] || iis7_supports_permalinks() ); | |
| 46 | + | |
| 47 | + if ( ! $got_url_rewrite ) { | |
| 48 | + $permastruct = preg_replace( | |
| 49 | + '#^/index\.php#', '/index.php/%lang%', $permastruct ); | |
| 50 | + } elseif ( is_multisite() && ! is_subdomain_install() && is_main_site() ) { | |
| 51 | + $permastruct = preg_replace( | |
| 52 | + '#^/blog#', '/%lang%/blog', $permastruct ); | |
| 53 | + } else { | |
| 54 | + $permastruct = preg_replace( | |
| 55 | + '#^/#', '/%lang%/', $permastruct ); | |
| 56 | + } | |
| 47 | 57 | |
| 48 | 58 | $extra = bogo_generate_rewrite_rules( $permastruct, array( |
| 49 | 59 | 'ep_mask' => EP_PERMALINK, |
| 50 | 60 | 'paged' => false ) ); |