如何在用户访问URL2时显示URL1的内容

时间:2019-02-22 作者:Dakshinamurthy Karra

我知道如何使用apache/mod\\u代理,但我不能在共享主机上使用mod\\u代理。所以没有。htaccess解决方案。

目前,我在子主题的页面中有以下代码。php

global $post ;
if( needs_replacement( $post ) ) {
  $post_name = $post->post_name ;
  $from_url = create_url( $post );
  $r = wp_remote_get( $from_url);
  echo wp_remote_retrieve_body( $r );
  exit(0);
}
require_once( get_template_directory() . \'/page.php\' );
?>
这是可行的。我想知道做这件事的正确方法是什么$from\\u url来自同一服务器。

示例:

$post = https://example.com/docs/hello-world
$from_url = https://example.com/supp/?sec=hello-world
明确地说,我想开发一种方法,当我传递URL时,它可以获取呈现页面的内容。比如:

function wp_get_url_content( $url ) {
  ....
}
The$url 将始终是来自同一服务器的URL。

2 个回复
SO网友:Loren Rosen

让WordPress(创建web服务器响应)通过重定向(通过调用wp_redirect()). 放在第一位header.php

global $post;
if( needs_replacement( $post ) ) {
  $from_url = create_url( $post );
  wp_redirect( $from_url );
  exit(0);
}
require_once( get_template_directory() . \'/page.php\' );
?>
(请注意,您必须做到这一点;否则,重定向尝试将被忽略,或更有可能导致错误。)

SO网友:Loren Rosen

(想到了另一种方法)
使用WordPress挂钩,并调用set_query_var().<类似于

function add_my_query_vars () {
   set_query_var(\'sec\', \'hello world\'); 
}

add_action(\'pre_get_posts\',\'add_my_query_vars\');
(这确实对插件如何处理查询变量做出了一些可能的假设。)

相关推荐