在page-url.php页面做测试
<h2>url伪静态</h2> 接收到的pagename参数是:<? echo $wp_query->query_vars['pagename'] ?><br/>
接收到的v参数是:<? echo $wp_query->query_vars['v']; ?>
functions.php加入
add_filter('rewrite_rules_array','my_insert_rewrite_rules');
add_filter('query_vars','my_insert_query_vars');
add_action('wp_loaded','my_flush_rules');//当wp加载时,运行my_flush_rules方法 //如果伪静态规则里面没有我们的规则,则进行重置
function my_flush_rules(){
$rules = get_option('rewrite_rules'); //获取option数据表中‘rewrite-rules’ if (!isset($rules['url-(.*).html'])) {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
} //添加一个新的伪静态规则
function my_insert_rewrite_rules($rules){
$newrules = array();
$newrules['url-(.*).html'] = 'index.php?pagename=$matches[0]&v=$matches[1]';
return $newrules + $rules;
} //添加一个变量名称
function my_insert_query_vars($vars){
array_push($vars, 'v');
return $vars;
} //echo $wp_query->query_vars['v']; //在需要获取的get传值的地方写入
保存之后,在浏览器地址栏输入 localhost/wordpress/url-123.html,;做测试
附:wordpress固定链接设置的一些参数
- %year%:基于文章发布的年份,比如2010;
- %monthnum%:基于文章发布的月份,比如01;
- %day%:基于文章发布当日,比如06;
- %hour%:基于文章发布小时数,比如23;
- %minute%:基于文章发布分钟数,比如43;
- %second%:基于文章发布秒数,比如33;
- %postname%:基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
- %post_id%:基于文章post_id,比如48;
- %category%:基于文章分类,子分类会处理成“分类/子分类”这种形式;
- %author%:基于文章作者名。