У меня есть два домена, которые указывают на один и тот же сервер. У одного есть только символы ascii по умолчанию, и один содержит носитель. Тот, у которого есть символы ascii, является только supposted, который будет использоваться для электронной почты, и домен просто перенаправляется на тот, у которого есть специальный символ. Это работает по назначению.Apache RewriteCond с nordic/специальными символами
Теперь, в моем файле .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-запрос и увидел фактический домен в инспекторе. Вид отдался. – OptimusCrime