我也使用这个插件,所以我想我应该深入研究代码,看看是否能找到答案。
有两个操作可用于此操作,这两个操作可能会首先使用redirection\\u,最后使用redirection\\u
两者都有两个参数:$url和$this(这是重定向插件的wordpress模块)
以下是\\modules\\wordpress中模块init()的代码片段。php
public function init() {
$url = $_SERVER[\'REQUEST_URI\'];
// Make sure we don\'t try and redirect something essential
if ( ! $this->protected_url( $url ) && $this->matched === false ) {
do_action( \'redirection_first\', $url, $this );
$redirects = Red_Item::get_for_url( $url, \'wp\' );
foreach ( (array) $redirects as $item ) {
if ( $item->matches( $url ) ) {
$this->matched = $item;
break;
}
}
do_action( \'redirection_last\', $url, $this );
}
}
所以,$url是您请求的url,在redirection\\u last,$this->matched中有您的重定向url。我将从redirection\\u start开始,您可以运行如下操作:
function redirection_strip_query_string( $url = \'\', $this ) {
if ( strpos( $url, \'?page=\' ) !== false ) {
$url = preg_replace(\'/\\?.*/\', \'\', $url);
}
}
add_action( \'redirection_first\', \'redirection_strip_query_string\' );
两个注意事项:
我尚未测试此代码我想给simple URL preg_replace