将子域上的页面重写为另一个页面

时间:2017-06-06 19:18:27

标签: wordpress apache .htaccess url-rewriting

我有wordpress multisite 我在下面的子域名上有一个链接

http://subdomain.domain.com/parameter-fruits

我想要RewriteRule并阅读参数,我在下面用.htaccess

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteRule (^[A-Za-z0-9\-]+)-fruits$  http://subdomain.domain.com/test/?fruit=$1

可行,但问题是网址出现

http://subdomain.domain.com/test/fruit=parameter

而不是

http://subdomain.domain.com/parameter-fruits

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

对于wordpress,您可以使用主题function.php并添加重写规则,如下所示

if (strpos($actual_link, "subdomain.domain.com") !== false)

{
    add_rewrite_rule('(^[A-Za-z0-9\-]+)-fruits$','index.php?pagename=test','top');
    function add_query_vars( $query_vars )
    {
        $query_vars[] = 'pid';
        return $query_vars;
    }
    add_filter( 'query_vars', 'add_query_vars' );
}       

一旦你上传文件只是刷新重写,最简单的方法是去设置 - >>>永久链接并按保存

在您的php文件中,您可以使用下面的内容

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

爆炸并获取所需参数