RewriteCond / RewriteRule具有不区分大小写和斜杠的斜杠功能?

时间:2010-08-07 22:09:21

标签: .htaccess mod-rewrite

我遇到以下两行问题:

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+[^/])$ /$1.html [L]

目标:重定向“domain.tld / test /”(仅当test.html存在时),以便输出“domain.tld / test.html”的内容。

  • 如何使此不区分大小写:“domain.tld / Test” - > domain.tld / test.html **
  • 如何让它接受尾部斜杠:“domain.tld / test /”也应该有用

谢谢!

**我无法获得RewriteMap小写int:tolower to work,任何帮助赞赏。

2 个答案:

答案 0 :(得分:1)

使用[NC]进行不区分大小写的检查。

请点击此处查看尾随斜线问题:Mode Rewrite; with/without trailing slash on end of url?

答案 1 :(得分:0)

试试这个:

RewriteRule (.+)/$ $1
RewriteCond %{DOCUMENT_ROOT}/${tolower:$1}.html -f
RewriteRule ^(.+[^/])$ /$1.html [L]

此外RewriteMap只能在服务器配置或虚拟主机上下文中使用,但不能在.htaccess文件中使用。所以你需要在那里定义重写图。