URL包含大写和小写字符会导致404错误,而不是更正字符大小写

时间:2014-04-03 19:12:10

标签: php .htaccess mod-rewrite url-rewriting

我想这是.htaccess相关的问题而不是php。

这是我的问题,我有几个包含小写和大写字符的网址。

如果发生意外,该字符输入错误,那么这将导致404.我的问题是,如何将错误输入的字符更正为正确的情况,例如来自mysite.com/MyFolder/something.html的{​​{1}}。

我想这必须是使用.htaccess重写规则来实现这一点的方法,但我并不特别是这方面的专家。

我不得不把这个编辑放在我的问题上,因为我觉得它被误解了。

所以这就是问题,上面提到的网址在某个竞争对手的网站上的地址栏中得到了纠正,无论你使用哪个字母大小写,只要拼写正确,网址就是自己的跳到正确的案例。

因此,如果您拼写类似以下mysite.com/myfolder/something.html的内容,它会自动更正网址,并在任何指定网址的浏览器地址栏中提供以下mysite.com/myfoLDer/something.html

请帮我一两点。

提前致谢。

3 个答案:

答案 0 :(得分:1)

使用mod_rewrite使用NC标志忽略案例处理:

RewriteRule (.*) http://www.example.com/$1 [NC]

RewriteRule Flags - Apache HTTP Server

  

使用[NC]标志会使RewriteRule以不区分大小写的方式匹配。也就是说,它不关心字母在匹配的URI中是以大写形式还是小写形式出现。

     

在下面的示例中,对图像文件的任何请求都将代理到您的专用图像服务器。匹配不区分大小写,因此.jpg和.JPG文件都是可接受的,例如。

答案 1 :(得分:0)

您可以尝试mod_speling and the CheckCaseOnly directive

CheckCaseOnly On

假设您已加载mod_speling。

答案 2 :(得分:0)

看起来这个问题已在这里得到解答:

.htaccess case sensitive and mod_rewrite

  

使用[NC]标志会使RewriteRule以不区分大小写的方式匹配。也就是说,它并不关心字母在匹配的URI中是大写还是小写。