.htaccess 带有北欧/特殊字符的Apache RewriteCond
我有两个域都指向同一台服务器。一个只有默认的ascii字符,另一个包含北欧字符。带有ascii字符的域只支持用于电子邮件,而域只需重定向到带有特殊字符的域。这正是我们想要的 现在,在我的.htaccess 带有北欧/特殊字符的Apache RewriteCond,.htaccess,mod-rewrite,apache2,.htaccess,Mod Rewrite,Apache2,我有两个域都指向同一台服务器。一个只有默认的ascii字符,另一个包含北欧字符。带有ascii字符的域只支持用于电子邮件,而域只需重定向到带有特殊字符的域。这正是我们想要的 现在,在我的.htaccess文件中,我想检查域(带有特殊字符)是否缺少www。如果是,我想301重定向到前缀为www的同一个域。这是我目前正在使用的代码。这或多或少是我以前多次使用过的样板文件,应该可以使用: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !
.htaccess
文件中,我想检查域(带有特殊字符)是否缺少www
。如果是,我想301重定向到前缀为www
的同一个域。这是我目前正在使用的代码。这或多或少是我以前多次使用过的样板文件,应该可以使用:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.dømain\.no [NC]
RewriteRule (.*) http://www.dømain.no/$1[R=301,L]
现在的问题是,即使域具有www
前缀,也始终会触发此重定向。我试着将域与没有特殊字符的域交换,它正常工作
我不知道为什么Apache不能很好地处理我域中的特殊角色。我的理论是,%{HTTP_HOST}
由于字母ø而包含某种格式错误的内容,这导致条件始终为真。除此之外,我不知道我应该如何表达我的情况,否则,以避免这一点
有没有办法告诉Apache以不同的方式处理角色?使用:
谢谢你,这很有魅力。我检查了http请求,并在inspector中看到了实际的域。有点泄露了。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.xn--dmain-vua\.no [NC]
RewriteRule (.*) http://www.xn--dmain-vua.no/$1 [R=301,L]