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

标签 apache .htaccess mod-rewrite

我正在为 mod_rewrite 和 .htaccess 苦苦挣扎...我需要做的就是创建我的 URL 不区分大小写 .在经历了 500 次内部服务器错误和大量谷歌搜索导致堆栈溢出之后,我只是在寻找一种可行的解决方案。

不是 工作:Convert to lowercase in a mod_rewrite rule

RewriteMap tolower int:tolower
RewriteRule  ^([^/]+)/?$  somedir/${tolower:$1}

不是 工作:Case Insensitive URLs with mod_rewrite
CheckSpelling on

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

最佳答案

以下应该工作:

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

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

关于apache - 区分大小写的 URL - 如何使它们不敏感?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852277/

相关文章:

PHP 无法在 apache 或 iis 中运行

.htaccess - 使用 .htaccess 删除动态链接上的目录

ruby-on-rails - 在 Rails for Heroku 中将 URL 从子目录重写为子域

java - 由 X 提供支持,无法在 Weblogic 中工作

apache - 如何通过移动设备访问Apache虚拟主机?

mysql - Wordpress - ftp 站点/导出数据库到本地主机,本地主机图像仍然指向 .com,为什么?

php - 将 http 更改为 https 后,opencart 管理员无法正常工作

php - 使用 RewriteRule 发送 POST 数据

apache - 安装 apache2 后连接到 ec2 时 SSH 连接超时

.htaccess - 使 SSL/HTTPS 与 Symfony2 一起工作时遇到问题