Apache URL重写问题

Apache URL重写问题,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在使用以下代码重新编写URL: RewriteEngine on RewriteRule ^buynow/(.*)$ Model/Public/BuyNow/buynow.php?str=$1&f=$2 [L] 但在这些行中,第二个参数“f”在这里不起作用。我在谷歌上搜索过,但没有得到结果。请给出您的建议 谢谢您只捕获了一个字符串,因此没有与第二个捕获组相对应的$2。您只捕获了一个字符串,因此没有与第二个捕获组相对应的$2。您的正则表达式中只有一个组(由(…)分隔)$1

我正在使用以下代码重新编写URL:

RewriteEngine on    
RewriteRule ^buynow/(.*)$ Model/Public/BuyNow/buynow.php?str=$1&f=$2   [L]
但在这些行中,第二个参数
“f”
在这里不起作用。我在谷歌上搜索过,但没有得到结果。请给出您的建议


谢谢

您只捕获了一个字符串,因此没有与第二个捕获组相对应的
$2

您只捕获了一个字符串,因此没有与第二个捕获组相对应的
$2

您的正则表达式中只有一个组(由
分隔)<代码>$1指的是本组中匹配的内容,
$2
指的是第二组中不存在的匹配内容。因为没有第二组,
$2
将始终计算为
“”

f
应该代表URL的哪一部分

编辑:根据您的评论,规则应该如下所示:

RewriteRule ^buynow[^/]*/(.*)/([^/]*)$ Model/Public/BuyNow/buynow.php?str=$1&f=$2   [L]
正则表达式中只有一个组(由
分隔)<代码>$1指的是本组中匹配的内容,
$2
指的是第二组中不存在的匹配内容。因为没有第二组,
$2
将始终计算为
“”

f
应该代表URL的哪一部分

编辑:根据您的评论,规则应该如下所示:

RewriteRule ^buynow[^/]*/(.*)/([^/]*)$ Model/Public/BuyNow/buynow.php?str=$1&f=$2   [L]

您编写的规则仅支持传递1参数,^buynow/(.*)$是一个未拆分为2的参数,因此您预期的参数永远不会到达。
请发布原始URL的示例,以便我可以帮助您解决此问题。

您编写的规则仅支持传递1参数,^buynow/(.*)$是一个未拆分为2的参数,因此您预期的参数永远不会到达。
请发布一个原始URL的示例,以便我可以帮助您解决此问题。

您认为
f
应该包含什么?您认为
f
应该包含什么?我如何编辑此代码:RewriteRule^buynow/(*)$Model/Public/buynow/buynow.php?str=$1&f=$2@Deepak:您需要向我们显示一个示例URL,并指出URL
f
的哪一部分应该设置,以便我们知道如何修复规则查看我需要以其他方式重写的此URL如何编辑此代码:RewriteRule ^buynow/(*)$Model/Public/buynow/buynow.php?str=$1&f=$2@Deepak:您需要向我们显示一个示例URL,并指出URL
f
的哪一部分应该设置,以便我们知道如何修复规则请参见我需要以其他方式重写的此URL