Update: 我逐渐意识到我们有不同的目标@NewUser承认这两种URL样式都有效:
http://example.com/post-title/?template=basic
和
http://example.com/post-title/template/basic
.
而我的目标是http://example.com/post-title/?template=basic
, 通过将其重定向到一个漂亮的URL。就像domain.com/?p=100
重定向到一个漂亮的帖子/页面URL。WP本身通过wp_redirect
中的函数canonical.php
.
Please note: 不同的URL样式(漂亮和不漂亮)服务于相同的内容,可能会被搜索引擎视为重复的内容。使用301重定向功能(如下所述)或规范标记来防止这种情况:https://support.google.com/webmasters/answer/139066?hl=en 这也解释了WP的全部目的canonical.php
(防止重复)。
Non-pretty to Pretty URL / 301 redirect function: 我修改了以下内容function. 现在,它会重定向到pretty URL,并防止由于不同URL样式(pretty和non-pretty)服务于相同的内容而导致内容重复:
function redirect_to_pretty_url() {
if ( is_singular() && !empty( $_GET[\'template\'] ) ) {
wp_redirect( home_url( "/my-question/" ) . urlencode( get_query_var( \'template\' ) ), 301 );
exit();
}
}
add_action( \'template_redirect\', \'redirect_to_pretty_url\' );