以下 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]
希望有所帮助。