重写规则将查询字符串参数作为子域添加到htaccess中的URL

时间:2018-08-08 14:29:19

标签: apache .htaccess url-rewriting

我正在尝试将google signin集成到我的应用程序中。我具有动态子域。据我所知,Oath登录不支持通配符。因此,我在登录时发送状态参数,并在该状态参数中传递域名在开发者控制台中,我的来源和重定向为 https://mydomain.zingapps.com 。我将 mydomain 作为主子域。

现在我能够成功登录。但是在重定向时,我得到的URL为

https://mydomain.myapps.com/?state=testdomain&code=16      数字代码

但是我希望网址是这样

    https://testdomain.myapps.com/account

在这里,我希望状态参数在重定向后成为我的子域。

在htaccess中,我正在这样做。我知道它的错。我不知道该怎么做。

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^myapps\.
    RewriteCond %{QUERY_STRING} state=([a-z0-9]+)
    RewriteRule ^(.*)$ http://%1.mydomain.com/$1 [L]

谁能告诉我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

将此规则用作首要规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^mydomaon\.zingyapps\. [NC]
RewriteCond %{QUERY_STRING} (?:^|&)state=([^&]+) [NC]
RewriteRule ^/?$ http://%1.zingyapps.com/account?#!/sales [L,R=301,NE]