将 get-parameter 添加到 .htaccess 中的 rewrite_rule 不起作用

我们正在通过 .htaccess file 开发小型路由器。 现在我们试图在 rewrite_rule 中传递一个 get 参数。问题是,get 参数没有成功通过。

例如我们有以下网址:

https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html

以及以下规则:

RewriteRule ^(.*)-verifizierung_(.*).html$ index.php?seite=$1&webshopparameter=verifizierung&code=$2 [L,QSA]

该示例运行良好,参数设置正确,但现在我们必须添加一个额外的获取参数 token,如下所示:

https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html?token=6TT38831GN100844

所以我们扩展 rewrite_rule:

RewriteRule ^(.*)-verifizierung_(.*).html?token=(.*)$ index.php?seite=$1&webshopparameter=verifizierung&code=$2&token=$3 [L,QSA]
                                         ^^^^^^^^^^^^                                                          ^^^^^^^^^

但它不会按预期工作。我们也尝试使用 {QUERY_STRING} 但结果是一样的。这里的问题在哪里?感谢您的帮助!

mekids 回答:将 get-parameter 添加到 .htaccess 中的 rewrite_rule 不起作用

对于您显示的示例,请尝试遵循 htaccess 规则。您可以在这里使用 THE_REQUEST 变量,它更适合您当前的情况。

另外,请确保在测试您的 URL 之前清除浏览器缓存。

RewriteEngine ON
RewriteCond %{THE_REQUEST} \s/(.*?)-verifizierung_(.*?)\.html\?token=(\S+)\s [NC]
RewriteRule ^  index.php?eite=%1&webshopparameter=verifizierung&code=%2&token=%3 [L,QSA]
本文链接:https://www.f2er.com/10624.html

大家都在问