UseCanonicalName Применено, однако узел заголовка запроса все еще не был изменен.

У меня возникла проблема с перенаправлением веб-сайта, и я обнаружил, что мой rewritecond input= 'www.example.com' и мой заголовок запроса Host = 'example.com'. Поэтому я пытаюсь применить UseCanonimalName On на vhost, где мое имя сервера определено как «www.example.com», надеясь, что, когда оба совпадают, произойдет перенаправление моего веб-сайта, но, к сожалению, этого не происходит, и хост в моем заголовке запроса все еще остается «примером». .com'. Я имею в виду это и это , чтобы сделать это.

Ниже мой httpd-vhost.conf:

      <VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    UseCanonicalName On
    DocumentRoot "d:/wamp64/www/example"
    <Directory  "d:/wamp64/www/example/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
        Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
    </Directory>
</VirtualHost>

Ниже приведен хост, который я получил

Ниже приведены ожидания, которые я хотел бы получить:

Хост меняется с example.com на www.example.com, но, к сожалению, он работает только в Firefox, но не в других браузерах, почему IDK?!

***Я использую сервер Windows

Пожалуйста, поправьте меня, если я понимаю или делаю это неправильно. Спасибо всем!

1 ответ

The UseCanonicalNameотносится не к перенаправлениям, а к самоссылающимся URL-адресам.

  • Off: «формировать самоссылающиеся URL-адреса, используя имя хоста и порт, предоставленные клиентом»
  • On: "используйте имя хоста и порт, указанные вServerNameдиректива "

Перенаправление, которое вы видите, не связано с этим, а является результатом политики HSTS, которую вы указали с помощьюStrict-Transport-Security. Браузер, поддерживающий HSTS и увидевший этот заголовок, выполнит внутреннее перенаправление на HTTPS независимо от вашего<VirtualHost *:80>конфигурация.

Другие вопросы по тегам