X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/022dfbbbe3215917d84708eb09acca93b21ae9e0..9441756a895fb4fdc4bcf20e0d228cef622663ca:/wp-admin/options-permalink.php?ds=sidebyside diff --git a/wp-admin/options-permalink.php b/wp-admin/options-permalink.php index 68c44aaa..4ec1c1b2 100644 --- a/wp-admin/options-permalink.php +++ b/wp-admin/options-permalink.php @@ -1,179 +1,277 @@ - -set_permalink_structure($permalink_structure); + if ( isset( $_POST['permalink_structure'] ) ) { + if ( isset( $_POST['selection'] ) && 'custom' != $_POST['selection'] ) + $permalink_structure = $_POST['selection']; + else + $permalink_structure = $_POST['permalink_structure']; + + if ( ! empty( $permalink_structure ) ) { + $permalink_structure = preg_replace( '#/+#', '/', '/' . str_replace( '#', '', $permalink_structure ) ); + if ( $prefix && $blog_prefix ) + $permalink_structure = $prefix . preg_replace( '#^/?index\.php#', '', $permalink_structure ); + else + $permalink_structure = $blog_prefix . $permalink_structure; + } + $wp_rewrite->set_permalink_structure( $permalink_structure ); } - - if ( isset($_POST['category_base']) ) { + + if ( isset( $_POST['category_base'] ) ) { $category_base = $_POST['category_base']; - if (! empty($category_base) ) - $category_base = preg_replace('#/+#', '/', '/' . $_POST['category_base']); - $wp_rewrite->set_category_base($category_base); + if ( ! empty( $category_base ) ) + $category_base = $blog_prefix . preg_replace('#/+#', '/', '/' . str_replace( '#', '', $category_base ) ); + $wp_rewrite->set_category_base( $category_base ); + } + + if ( isset( $_POST['tag_base'] ) ) { + $tag_base = $_POST['tag_base']; + if ( ! empty( $tag_base ) ) + $tag_base = $blog_prefix . preg_replace('#/+#', '/', '/' . str_replace( '#', '', $tag_base ) ); + $wp_rewrite->set_tag_base( $tag_base ); } + + wp_redirect( admin_url( 'options-permalink.php?settings-updated=true' ) ); + exit; } - -$permalink_structure = get_settings('permalink_structure'); -$category_base = get_settings('category_base'); -if ( (!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess') ) - $writable = true; -else +$category_base = get_option( 'category_base' ); +$tag_base = get_option( 'tag_base' ); +$update_required = false; + +if ( $iis7_permalinks ) { + if ( ( ! file_exists($home_path . 'web.config') && win_is_writable($home_path) ) || win_is_writable($home_path . 'web.config') ) + $writable = true; + else + $writable = false; +} elseif ( $is_nginx ) { $writable = false; +} else { + if ( ( ! file_exists( $home_path . '.htaccess' ) && is_writable( $home_path ) ) || is_writable( $home_path . '.htaccess' ) ) { + $writable = true; + } else { + $writable = false; + $existing_rules = array_filter( extract_from_markers( $home_path . '.htaccess', 'WordPress' ) ); + $new_rules = array_filter( explode( "\n", $wp_rewrite->mod_rewrite_rules() ) ); + $update_required = ( $new_rules !== $existing_rules ); + } +} -if ($wp_rewrite->using_index_permalinks()) +if ( $wp_rewrite->using_index_permalinks() ) $usingpi = true; else $usingpi = false; -$wp_rewrite->flush_rules(); -?> +flush_rewrite_rules(); - -
+
number of tags are available, and here are some examples to get you started.'); ?>
+number of tags are available, and here are some examples to get you started.' ); ?>
+ + '', + 1 => $prefix . '/%year%/%monthnum%/%day%/%postname%/', + 2 => $prefix . '/%year%/%monthnum%/%postname%/', + 3 => $prefix . '/' . _x( 'archives', 'sample permalink base' ) . '/%post_id%', + 4 => $prefix . '/%postname%/', +); ?> - + + +web.config file were writable, we could do this automatically, but it isn’t so this is the url rewrite rule you should have in your web.config
file. Click in the field and press CTRL + a to select all. Then insert this rule inside of the /<configuration>/<system.webServer>/<rewrite>/<rules>
element in web.config
file.') ?>
.htaccess file were writable, we could do this automatically, but it isn’t so these are the mod_rewrite rules you should have in your .htaccess
file. Click in the field and press CTRL + a to select all.') ?>
web.config file writable for us to generate rewrite rules automatically, do not forget to revert the permissions after rule has been saved.') ?>
+ +writable, we could do this automatically, but it isn’t so this is the url rewrite rule you should have in your web.config
file. Create a new file, called web.config
in the root directory of your site. Click in the field and press CTRL + a to select all. Then insert this code into the web.config
file.') ?>
web.config file automatically, do not forget to revert the permissions after the file has been created.') ?>
+ + + +Documentation on Nginx configuration.' ); ?>
+ +.htaccess file were writable, we could do this automatically, but it isn’t so these are the mod_rewrite rules you should have in your .htaccess
file. Click in the field and press CTRL + a to select all.') ?>