Apache URL重写问题
我正在使用以下代码重新编写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
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,并指出URLf
的哪一部分应该设置,以便我们知道如何修复规则查看我需要以其他方式重写的此URL如何编辑此代码:RewriteRule ^buynow/(*)$Model/Public/buynow/buynow.php?str=$1&f=$2@Deepak:您需要向我们显示一个示例URL,并指出URLf
的哪一部分应该设置,以便我们知道如何修复规则请参见我需要以其他方式重写的此URL