Php mod_重写代码检查双重重写规则

Php mod_重写代码检查双重重写规则,php,apache,mod-rewrite,Php,Apache,Mod Rewrite,这是我当前的配置: 1.RewriteRule^india/news.php/portal/india/stories/telugu.php??topicid=14 2.RewriteRule^india/telugu.php?当前页面=([0-9]+)&topicid=14/portal/india/stories/telugu.php?当前页面=$1&topicid=14 规则1改写为 这很好用 规则2应该重写为不起作用的规则 它显示一个404未找到 这里p.no=数字 如果我需要详细说明我

这是我当前的配置:

1.RewriteRule^india/news.php/portal/india/stories/telugu.php??topicid=14

2.RewriteRule^india/telugu.php?当前页面=([0-9]+)&topicid=14/portal/india/stories/telugu.php?当前页面=$1&topicid=14

规则1改写为 这很好用

规则2应该重写为不起作用的规则

它显示一个404未找到

这里p.no=数字


如果我需要详细说明我的问题,请告诉我。

重写规则使用正则表达式,所以有一个?在中,正则表达式不是表示查询字符串,而是作为正则表达式键开始

此外,RewriteRule实际上只查看请求URI并忽略查询字符串,除非您为查询字符串设置了条件

所以规则2应该是这样的

RewriteCond %{QUERY_STRING} currentpage=([0-9]+).&topicid=14
RewriteRule ^india/telugu.php /portal/india/stories/telugu.php?currentpage=%1&topicid=14
请注意,在此设置中,您需要%1而不是$1

我希望这能帮助我解决这个问题好几次,这是我唯一能让它发挥作用的方法。你也可以在网站上测试重写,比如