Leave htaccess alone if permalinks are not turned on. Bug 597.
git-svn-id: http://svn.automattic.com/wordpress/trunk@2006 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
210016e4d4
commit
888021c22a
|
@ -497,20 +497,17 @@ function save_mod_rewrite_rules() {
|
||||||
global $is_apache, $wp_rewrite;
|
global $is_apache, $wp_rewrite;
|
||||||
$home_path = get_home_path();
|
$home_path = get_home_path();
|
||||||
|
|
||||||
if ( (!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess') )
|
if (! $wp_rewrite->using_mod_rewrite_permalinks())
|
||||||
$writable = true;
|
return;
|
||||||
else
|
|
||||||
$writable = false;
|
|
||||||
|
|
||||||
if ($wp_rewrite->using_index_permalinks())
|
if ( ! ((!file_exists($home_path.'.htaccess') && is_writable($home_path)) || is_writable($home_path.'.htaccess')) )
|
||||||
$usingpi = true;
|
return;
|
||||||
else
|
|
||||||
$usingpi = false;
|
|
||||||
|
|
||||||
if ( $writable && !$usingpi && $is_apache ) {
|
if (! $is_apache)
|
||||||
$rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
|
return;
|
||||||
insert_with_markers($home_path.'.htaccess', 'WordPress', $rules);
|
|
||||||
}
|
$rules = explode("\n", $wp_rewrite->mod_rewrite_rules());
|
||||||
|
insert_with_markers($home_path.'.htaccess', 'WordPress', $rules);
|
||||||
}
|
}
|
||||||
|
|
||||||
function generate_page_rewrite_rules() {
|
function generate_page_rewrite_rules() {
|
||||||
|
|
|
@ -764,6 +764,13 @@ class WP_Rewrite {
|
||||||
's='
|
's='
|
||||||
);
|
);
|
||||||
|
|
||||||
|
function using_permalinks() {
|
||||||
|
if (empty($this->permalink_structure))
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function using_index_permalinks() {
|
function using_index_permalinks() {
|
||||||
if (empty($this->permalink_structure)) {
|
if (empty($this->permalink_structure)) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -777,6 +784,13 @@ class WP_Rewrite {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function using_mod_rewrite_permalinks() {
|
||||||
|
if ( $this->using_permalinks() && ! $this->using_index_permalinks())
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
function preg_index($number) {
|
function preg_index($number) {
|
||||||
$match_prefix = '$';
|
$match_prefix = '$';
|
||||||
$match_suffix = '';
|
$match_suffix = '';
|
||||||
|
@ -1058,6 +1072,10 @@ class WP_Rewrite {
|
||||||
}
|
}
|
||||||
|
|
||||||
function mod_rewrite_rules () {
|
function mod_rewrite_rules () {
|
||||||
|
if ( ! $this->using_permalinks()) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
$site_root = str_replace('http://', '', trim(get_settings('siteurl')));
|
$site_root = str_replace('http://', '', trim(get_settings('siteurl')));
|
||||||
$site_root = preg_replace('|([^/]*)(.*)|i', '$2', $site_root);
|
$site_root = preg_replace('|([^/]*)(.*)|i', '$2', $site_root);
|
||||||
if ('/' != substr($site_root, -1)) $site_root = $site_root . '/';
|
if ('/' != substr($site_root, -1)) $site_root = $site_root . '/';
|
||||||
|
|
Loading…
Reference in New Issue