Mod rewrite 在mod_重写规则上添加尾部斜杠

Mod rewrite 在mod_重写规则上添加尾部斜杠,mod-rewrite,Mod Rewrite,我对mod_rewrite很新,我正在尝试自己的规则。。。 我有一句简单的话: RewriteRule ^concorso/(.*)/$ concorso/?iModule=13&iData=$1 [L] 它正在处理URL,如: 但不是像这样的URL (无尾随斜杠) 我知道这可能是一个非常普遍的问题,但我在网上找到的所有例子都是。。对于这个简单的规则,“超大” 那么,如何自动添加尾部斜杠呢?请注意以下规则: RewriteRule ^contatti/$ con

我对mod_rewrite很新,我正在尝试自己的规则。。。 我有一句简单的话:

RewriteRule  ^concorso/(.*)/$    concorso/?iModule=13&iData=$1   [L]
它正在处理URL,如: 但不是像这样的URL (无尾随斜杠)

我知道这可能是一个非常普遍的问题,但我在网上找到的所有例子都是。。对于这个简单的规则,“超大”

那么,如何自动添加尾部斜杠呢?请注意以下规则:

RewriteRule    ^contatti/$    contatti/?iModule=10    [L]
自动添加斜杠。。。 我也试过:

RewriteRule  ^concorso/(.*)/?$    concorso/?iModule=13&iData=$1   [L]
(最后一个斜杠可选)但我收到Apache错误:

[Wed Dec 29 10:02:41 2010] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 127.0.0.1 - - [29/Dec/2010:10:02:41 +0100] "GET /concorso/2/ HTTP/1.1" 500 535 [Wed Dec 29 10:02:41 2010][error][client 127.0.0.1]由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用“LimitInternalRecursion”增加限制。使用“日志级别调试”获取回溯。 127.0.0.1--[29/Dec/2010:10:02:41+0100]“GET/concorso/2/HTTP/1.1”500 535
谢谢你的帮助

尝试限制模式将接受的字符,以防止模式与要重写的内容匹配。例如,如果您只想匹配URL
/concorso/#######
,其中###是数字:

RewriteRule  ^concorso/([0-9]+)/?$    concorso/?iModule=13&iData=$1   [L]
更一般地说,这将通过只匹配没有查询字符串的URL来实现:

RewriteRule  ^concorso/([^?]*)/?$    concorso/?iModule=13&iData=$1   [L]

错误是因为当您以某种方式重写URL时遇到了一个循环,重写的URL也与您的规则相匹配。感谢cdhowie,第一个很好地工作,我也用它增强了规则,包括一些文本:RewriteRule^concorso/(.*)/([0-9]+)/?$concorso/?iModule=13&iData=$2[NC,L]第二个示例仍然给我一个错误