Se a diretiva não estiver funcionando no apache VirtualHost conf, diz "Comando inválido"

6

Por que?

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

Salve e reinicie:

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!
    
por NotGaeL 14.12.2011 / 19:21

1 resposta

4

"If" não é algo que o Apache entenda (antes da versão 2.3). Você provavelmente deve olhar mod_rewrite

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

Para encontrar sua versão do apache, você provavelmente pode usar: apache2 -v

    
por 14.12.2011 / 19:27