Regex 区分大小写的URL

Regex 区分大小写的URL,regex,url,configuration,struts2,sitemesh,Regex,Url,Configuration,Struts2,Sitemesh,我已经建立了一个小网站 我发现我收到了用户的错误,经过调查,我发现他们试图使用的URL都是小写的,而我已经声明它们是camelCase 我不知道为什么这些用户应该尝试使用所有小写字母(我无法想象有人会真正花时间来更改: www.mysite.com/myAction.do 到 然而,我想不出这会有什么改变。有没有其他人经历过这样的情况: 然后,映射文件中的yourAction.do将尝试被用户作为yourAction.do访问 我使用的是Struts2.3.1、sitemesh 2.4.2-我

我已经建立了一个小网站

我发现我收到了用户的错误,经过调查,我发现他们试图使用的URL都是小写的,而我已经声明它们是camelCase

我不知道为什么这些用户应该尝试使用所有小写字母(我无法想象有人会真正花时间来更改:

www.mysite.com/myAction.do

然而,我想不出这会有什么改变。有没有其他人经历过这样的情况:

然后,映射文件中的yourAction.do将尝试被用户作为yourAction.do访问

我使用的是Struts2.3.1、sitemesh 2.4.2-我从未听说或遇到过这种情况,如果你们中的任何人遇到相同或类似的情况,我想了解导致这种情况的原因

是否有浏览器将camelCase.do重新映射到camelCase.do?出于任何原因

我能想到的唯一“解决方案”(两个非常丑陋和不雅观的解决方案中最好的一个)是复制struts.xml中的动作映射

<action name="myAction" class="myActionClass" />
<action name="myaction" class="myActionClass" /> //added extra but what a 'dumb' solution
仍将与URL正确映射:

myaction!clEAr.do 
?


通过重新阅读错误日志,我注意到ULR中的“错误案例”方法导致了大多数错误。

您可以使用
regex
模式匹配器和
(?I)
在regex主体中“嵌入”匹配标志。例如



谢谢!我添加了一个编辑,虽然它也涵盖了相同问题的方法。@Roman C+1很好的回答,即使我正在寻找这个:)但在我的情况下,它不起作用,因为我使用{},并且{(?I)myaction}总是执行第一个:p
myAction!clear.do
myaction!clEAr.do