Apache .htaccess 将 URL 以特定字符串开头的转换为小写

Apache .htaccess convert URL to lowercase if it starts with a certain string

我需要创建一个小写的重定向规则。

所有以 /catalog/ 开头的网址都必须是小写字母。示例:

你能帮帮我吗?

假设您使用的是 Apache 2.4,那么您可以在 mod_rewrite RewriteCond 指令中的 Apache 表达式中使用 tolower() 函数对这些 URLs.

例如:

RewriteEngine On

RewriteCond expr "tolower(%{REQUEST_URI}) =~ /(.*)/"
RewriteRule ^catalog/.*[A-Z] %1 [R=302,L]

RewriteRule 模式 检查 URL 路径,该路径以 catalog/ 开头,后跟一个大写字符。 RewriteCond 指令然后将 URL 路径转换为小写,这在正则表达式中被捕获,并且相应的反向引用 %1 用于 RewriteRule 替换 字符串作为重定向的目标。 %1 包含小写的 URL-路径。