通过子域通配符重定向传递变量?

时间:2012-02-21 21:36:52

标签: php regex .htaccess redirect wildcard-subdomain

我正在开发一个新的脚本,基本上是当有人在我的网站上搜索它通常会发生在这里的东西时:

http://domain.com/index.php?q=apples

http://apples.domain.com

我在PHP以及htaccess中完美地完成了这项工作,但我遇到的问题是在新的子域名页面上使用原始关键字。

现在我可以使用parse_url从网址中获取关键字,但我的脚本也会滤除潜在的问题,例如:

public function sanitise($v, $separator = '-')
    {
        return trim(
            preg_replace('#[^\w\-]+#', $separator, $v),
            $separator
        );
    }

所以如果有人搜索上网本v1.2

新的子域名是:

http://netbook-v1-2.domain.com

现在我可以将关键字输出,但它是破折号而不是原始的。我正在寻找一种通过301重定向发送原始关键字的方法。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以在访问新子域时使用空格替换连字符,或者由于您位于同一顶级域,因此您可以在重定向时将Cookie关闭:

setcookie('clientkeyword', 'netbook-v1-2.domain.com:netbook v1.2', 0, '/', '.domain.com');

答案 1 :(得分:0)

看看这个答案:https://stackoverflow.com/a/358334/992437

看看你是否可以使用已经存在的POST或GET数据。如果是这样,那可能是你最好的选择。