diff --git a/wp-admin/options-permalink.php b/wp-admin/options-permalink.php index 12c4e337ce..a333193ca1 100644 --- a/wp-admin/options-permalink.php +++ b/wp-admin/options-permalink.php @@ -100,100 +100,17 @@ $site_root = str_replace('http://', '', trim(get_settings('siteurl'))); $site_root = preg_replace('|([^/]*)(.*)|i', '$2', $site_root); if ('/' != substr($site_root, -1)) $site_root = $site_root . '/'; -$rewritecode = array( - '%year%', - '%monthnum%', - '%day%', - '%postname%', - '%post_id%' -); -$rewritereplace = array( - '([0-9]{4})?', - '([0-9]{1,2})?', - '([0-9]{1,2})?', - '([0-9a-z-_]+)?', - '([0-9]+)?' -); -$queryreplace = array ( - 'year=', - 'monthnum=', - 'day=', - 'name=', - 'p=' -); - - - -$match = str_replace('/', '/?', $permalink_structure); -$match = preg_replace('|/[?]|', '', $match, 1); - -$match = str_replace($rewritecode, $rewritereplace, $match); -$match = preg_replace('|[?]|', '', $match, 1); - -$feedmatch = str_replace('?/?', '/', $match); -$trackbackmatch = $feedmatch; - -preg_match_all('/%.+?%/', $permalink_structure, $tokens); - -$query = 'index.php?'; -$feedquery = 'wp-feed.php?'; -$trackbackquery = 'wp-trackback.php?'; -for ($i = 0; $i < count($tokens[0]); ++$i) { - if (0 < $i) { - $query .= '&'; - $feedquery .= '&'; - $trackbackquery .= '&'; - } - - $query_token = str_replace($rewritecode, $queryreplace, $tokens[0][$i]) . '$'. ($i + 1); - $query .= $query_token; - $feedquery .= $query_token; - $trackbackquery .= $query_token; -} -++$i; - -// Add post paged stuff -$match .= '([0-9]+)?/?'; -$query .= "&page=$$i"; - -// Add post feed stuff -$feedregex = '(feed|rdf|rss|rss2|atom)/?'; -$feedmatch .= $feedregex; -$feedquery .= "&feed=$$i"; - -// Add post trackback stuff -$trackbackregex = 'trackback/?'; -$trackbackmatch .= $trackbackregex; - -// Site feed -$sitefeedmatch = 'feed/?([0-9a-z-_]+)?/?$'; -$sitefeedquery = $site_root . 'wp-feed.php?feed=$1'; - -// Site comment feed -$sitecommentfeedmatch = 'comments/feed/?([0-9a-z-_]+)?/?$'; -$sitecommentfeedquery = $site_root . 'wp-feed.php?feed=$1&withcomments=1'; - -// Code for nice categories, currently not very flexible -$front = substr($permalink_structure, 0, strpos($permalink_structure, '%')); - $catmatch = $front . 'category/'; - $catmatch = preg_replace('|^/+|', '', $catmatch); - $authormatch = $front . 'author/'; - $authormatch = preg_replace('|^/+|', '', $authormatch); - ?>
-
+ $query) { + echo 'RewriteRule ^' . $match . ' ' . $site_root . $query . " [QSA]\n"; +} +?> + $authorquery, $match => $query, $feedmatch => $feedquery, - $trackbackmatch => $tracbackquery, + $trackbackmatch => $trackbackquery, $sitefeedmatch => $sitefeedquery, $sitecommentfeedmatch => $sitecommentfeedquery );