将 get-parameter 添加到 .htaccess 中的 rewrite_rule 不起作用
Add get-parameter to rewrite_rule in .htaccess does not work
我们正在通过 .htaccess file
开发小型路由器。
现在我们试图在 rewrite_rule 中传递一个 get-parameter。问题是get参数没有传递成功
例如我们有以下 url:
https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html
和以下规则:
RewriteRule ^(.*)-verifizierung_(.*).html$ index.php?seite=&webshopparameter=verifizierung&code= [L,QSA]
该示例工作正常并且参数设置正确,但现在我们必须添加一个额外的获取参数 token
,如下所示:
https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html?token=6TT38831GN100844
所以我们展开 rewrite_rule:
RewriteRule ^(.*)-verifizierung_(.*).html?token=(.*)$ index.php?seite=&webshopparameter=verifizierung&code=&token= [L,QSA]
^^^^^^^^^^^^ ^^^^^^^^^
但它不会按预期工作。我们也尝试使用 {QUERY_STRING} 但结果是一样的。这里的问题在哪里?感谢您的帮助!
使用您显示的示例,请尝试遵循 htaccess 规则。您可以使用 THE_REQUEST
变量,这将更适合您当前的情况。
此外,请确保在测试您的网址之前清除浏览器缓存。
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]
我们正在通过 .htaccess file
开发小型路由器。
现在我们试图在 rewrite_rule 中传递一个 get-parameter。问题是get参数没有传递成功
例如我们有以下 url:
https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html
和以下规则:
RewriteRule ^(.*)-verifizierung_(.*).html$ index.php?seite=&webshopparameter=verifizierung&code= [L,QSA]
该示例工作正常并且参数设置正确,但现在我们必须添加一个额外的获取参数 token
,如下所示:
https://example.com/shop-verifizierung_2c1c759546318feb3177d7d2a023400a.html?token=6TT38831GN100844
所以我们展开 rewrite_rule:
RewriteRule ^(.*)-verifizierung_(.*).html?token=(.*)$ index.php?seite=&webshopparameter=verifizierung&code=&token= [L,QSA]
^^^^^^^^^^^^ ^^^^^^^^^
但它不会按预期工作。我们也尝试使用 {QUERY_STRING} 但结果是一样的。这里的问题在哪里?感谢您的帮助!
使用您显示的示例,请尝试遵循 htaccess 规则。您可以使用 THE_REQUEST
变量,这将更适合您当前的情况。
此外,请确保在测试您的网址之前清除浏览器缓存。
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]