WordPress多URL访问
2010-06-17 17:34 by hackerzhou由于WordPress本身并没有这样的选项,在后台只能固定一个地址,之前一直用网上搜到的解决方法:
在wp-config.php的末尾加上:
define('WP_POST_REVISIONS',false); $home = 'http://'.$_SERVER['HTTP_HOST']; $wpurl = 'http://'.$_SERVER['HTTP_HOST']; define('WP_HOME', $home); define('WP_SITEURL', $wpurl);
今天发觉这个方法并不完美,打开主页,一些css还是用siteurl的。研究了一下代码,发现只要修改get_option这个函数就可以了,因为代码中N多次用到了get_option(‘siteurl’),get_option函数定义在functions.php中的,负责从数据库取出相应的设置项,因此只要修改这一个函数就可以了。
将
return apply_filters( 'option_' . $setting, maybe_unserialize( $value ) );
修改为
if($setting=='siteurl'){ return $WP_SITEURL; }else{ return apply_filters( 'option_' . $setting, maybe_unserialize( $value ) ); }