Назад | Перейти на главную страницу

Если директива не работает в apache VirtualHost conf, отображается «Недопустимая команда»

Зачем??

<VirtualHost *:80>
        ServerAdmin admin@mydomain.com
        DirectoryIndex index.php
        <If "%{SERVER_PROTOCOL} != 'HTTPS'">
            Redirect / https://www.mydomain.com:443/
        </If>
.....
</VirtualHost>

Сохраните, а затем перезапустите:

sudo /etc/init.d/apache2 restart
Syntax error on line 4 of /etc/apache2/sites-enabled/000-default:
Invalid command '<If', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

«Если» - это не то, что Apache понимает (до версии 2.3). Вам, наверное, стоит посмотреть на mod_rewrite

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://example.com:443/$1 [R,L]

Чтобы найти свою версию apache, вы, вероятно, можете использовать: apache2 -v