Redirect not working

时间:2014-01-25 作者:user3127899

我想重定向http://xyz.com/freebooks/http://xyz.com/shop/?min_price=0&max_price=0

我将此添加到。htaccess,它会重定向到商店页面,但不会像原始url那样保留/免费图书/或过滤器。

.htaccees:

RewriteEngine On
RewriteRule ^freebooks$ index.php?p=5&min_price=0&max_price=0  [NC,L]

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
结果URL:xyz.com/shop/

预期URL:xyz.com/freeabooks (商店只展示免费图书)

2 个回复
SO网友:Manolo

尝试以下操作:

RewriteRule ^(freebooks)$ $1/index.php?p=5&min_price=0&max_price=0  [NC,L]
或者只是

RewriteRule ^freebooks$ freebooks/index.php?p=5&min_price=0&max_price=0  [NC,L]

SO网友:Brad Dalton

你可以使用template_redirect 使用wp_redirect 函数在您的子主题函数中。php文件:

add_action( \'template_redirect\', \'redirect_to_shop_page\' );

function redirect_to_shop_page() {

if ( is_page(\'freebooks\') && ! is_user_logged_in() ) {

wp_redirect( \'http://xyz.com/shop/?min_price=0&max_price=0\', 301 ); 
  exit;
    }
}

结束