apache 域名区分大小写

apache 域名区分大小写

以下 HTTP 请求导致“查看错误日志了解更多详细信息;发现域的无效值”错误:

GET / HTTP/1.0
Host: www.MyWebsite.com

但是,如果我将主机名全部小写,它就可以正常工作。

如何使 Apache 不区分大小写?这是我的 httpd.conf 文件:

<VirtualHost *:80>
    ServerName mywebsite.com
    ServerAlias www.mywebsite.com

        ...
</VirtualHost>

我尝试添加ServerAlias www.MyWebsite.com一些内容,但没用。而且无论如何,这似乎是一种糟糕的方法,因为这种情况可能会以多种不同的方式混杂在一起,而尝试解释所有这些情况会导致产生一个巨大的 *.conf 文件。

有任何想法吗?

谢谢!

答案1

这组重写行将把你的所有请求都写成小写。

RewriteMap    lowercase      int:tolower
RewriteCond %{HTTP_HOST} [A-Z]
RewriteRule (.*) http://${lowercase:%{HTTP_HOST}}$1 [R,L]

希望有所帮助。

相关内容