我在wordpress网址中遇到了问题。我有下面的网址
但在搜索引擎中
http://www.example.com/sample-post/
http://www.example.com/sample-post/500012
请给我一个解决这个问题的想法。
答案 0 :(得分:0)
我在
找到的答案https://wordpress.stackexchange.com/questions/70992/appending-numbers-to-url-do-not-break-the-link
http://toscho.de/2010/wordpress-plugin-canonical-permalink/ 描述:从请求URI中删除非法数字后缀。 版本:0.3作者:Thomas Scholz作者URI:http://toscho.de 创建时间:04.04.2010 * /
add_action('wp','t5_canonical_request'); / ** * WordPress允许URI 带有任何数字后缀,例如:* / canonical-page-or-postname / 12345 / *此函数执行简单检查,并在必要时将*重定向到规范URI。 * * @return void * / function t5_canonical_request(){ 全球$ page,$ post;
// post, page, attachment, preview if ( ! is_singular() or is_preview() ) { return; } $permalink = get_permalink(); // We don't have access to the number of sub pages here. // So we have to hack. $max_pages = substr_count( $post->post_content, '<!--nextpage-->') + 1; if ( 1 < $page and $page <= $max_pages ) { /* * Handle different permalink settings, eg: * /%year%/%postname%.html or * /%year%/%postname%/ */ $rev_perma_struct = strrev(get_option('permalink_structure')); if ( '/' != $rev_perma_struct[0] ) { $permalink .= "/$page"; } else { $permalink .= "$page/"; } } $host_uri = 'http' . ( empty ( $_SERVER['HTTPS'] ) ? '' : 's' ) . '://' . $_SERVER['HTTP_HOST']; $canonical_path = str_replace($host_uri, '', $permalink); if ( ! empty ( $_GET ) ) { global $wp; // Array $allowed = $wp->public_query_vars; $out_arr = array(); foreach ( $_GET as $k => $v ) { if ( in_array($k, $allowed ) ) { $out_arr[] = $k . ( empty ( $v ) ? '' : "=$v" ); } } if ( ! empty ( $out_arr ) ) { $canonical_path .= '?' . implode('&', $out_arr); } } if ( $canonical_path == $_SERVER['REQUEST_URI'] ) { return; } // Debug current result: #print '<pre>' . var_export($canonical_path, TRUE) . '</pre>'; // Change it or return 'false' to stop the redirect. $canonical_path = apply_filters( 't5_canonical_path', $canonical_path ); if ( FALSE != $canonical_path ) { header('Location: ' . $permalink, true, 301); die("<a href='$permalink'>$permalink</a>"); } return; }