区分大小写的URL - 如何使它们不敏感?

Mar*_*son 11 apache .htaccess mod-rewrite

我正在努力使用mod_rewrite和.htaccess ...我需要做的就是让我的URL 不敏感.经过几次500内部服务器错误和大量的谷歌搜索,大量的堆栈溢出,我只是在寻找一个有效的解决方案.

工作:在mod_rewrite规则中转换为小写

RewriteMap tolower int:tolower
RewriteRule  ^([^/]+)/?$  somedir/${tolower:$1}
Run Code Online (Sandbox Code Playgroud)

工作:使用mod_rewrite的Case不敏感URL

CheckSpelling on
Run Code Online (Sandbox Code Playgroud)

我需要的只是简单的不区分大小写的URL :)

Dri*_*t12 5

以下应该工作:

    <IfModule mod_rewrite.c>
    RewriteEngine on
    rewritemap lowercase int:tolower
    RewriteCond $1 [A-Z]
    RewriteRule ^/(.*)$ /${lowercase:$1} [R=301,L] 
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

如果没有,您能否描述一下建议的解决方案无效的地方?

  • 我想让我的 URL 防弹。CamelCase 是一个引人注目的糖果,我想时不时地使用它,没有愚蠢的 404 错误页面。 (3认同)