Я пытаюсь настроить перенаправление для пары корневых доменов.
Во-первых, вот код в моем httpd-vhosts.conf файл:
<VirtualHost *:80>
ServerAdmin ****@example.com
ServerName example.com
ServerAlias example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^192\.168\.0\.1$ # This is our WAN IP
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.%{HTTP_HOST}/$1 [L,R,NE]
</VirtualHost>
Это перенаправляет корневой домен example.com или example2.com или любой другой хост кроме www к www.example (2) .com
У меня проблема с самим RewriteRule. в 1 доллар должен соответствовать шаблону RewriteRule и добавлять его в замену. Например: "http://example.com/test.html"следует переписать на"http://www.example.com/test.html"
Он работает во всех современных браузерах, как и предполагалось, за исключением IE8 или IE9 (другие версии IE я не тестировал).
В IE это работает: "http://example.com"к"http://www.example.com"
В IE это не работает: "http://example.com/test.html"к"http://www.example.com/test.html"
Есть ли у кого-нибудь объяснение такому поведению?
Надеюсь, я достаточно хорошо это объяснил.
Спасибо.
Размещение этого кода в htaccess исправило для меня подобное:
BrowserMatch "MSIE [2-8]" nokeepalive downgrade-1.0 force-response-1.0