Apache 在.htaccess中,如何重定向主机名的非小写版本
在Apache2上的Apache 在.htaccess中,如何重定向主机名的非小写版本,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在Apache2上的.htaccess中,如何通过301重定向将主机名的所有大小写变体重定向到规范的小写版本,并保持路径的其余部分不受损害。子域(或非子域)也应该这样做 此外,通过IP访问不应重定向 示例: http://Example.com/foo=>http://example.com/foo http://A.example.com/foo=>http://a.example.com/foo http://A.EXample.com/foo?bar=>http://a.example.
.htaccess
中,如何通过301重定向将主机名的所有大小写变体重定向到规范的小写版本,并保持路径的其余部分不受损害。子域(或非子域)也应该这样做
此外,通过IP访问不应重定向
示例:
=>http://Example.com/foo
http://example.com/foo
=>http://A.example.com/foo
http://a.example.com/foo
=>http://A.EXample.com/foo?bar
http://a.example.com/foo?bar
=>http://208.67.222.222/foo
http://208.67.222.222/foo
Paragon我已经搜索过,但无法在网上找到包含任意数量域的解决方案。我的使用案例是我在localhost上工作,因此第一行(带有example.com)不会同时在localhost和我的域上工作,也不会在其他人使用的任何名称上工作,而不是在localhost上工作 因此,要添加到@philfreo的答案中:(复制行,但只修改第一行) 菲弗罗的道具!他的回答节省了很多时间
Paragon请记住,每一个值得一提的搜索引擎都已经为您进行了规范化。除非你在这方面有严重的问题,否则这通常是不必要的。请记住,每一个值得一提的搜索引擎都已经为你进行了规范化。除非你在这方面有严重的问题,一般来说这是没有必要的。
# Make sure hostname is lowercase only (or an IP address)
RewriteCond %{HTTP_HOST} !^(.+\.)?example\.com$
RewriteCond %{HTTP_HOST} !^[\d\.]{7,15}$
RewriteRule ^(.*)$ ${lowercase:%{HTTP_HOST}}/$1 [R=301,L]
# Make sure hostname is lowercase only (or an IP address)
RewriteCond %{HTTP_HOST} !^(.+\.)?(.+)?$
RewriteCond %{HTTP_HOST} !^[\d\.]{7,15}$
RewriteRule ^(.*)$ ${lowercase:%{HTTP_HOST}}/$1 [R=301,L]