by what you have the command will always be the same.
check_http -H hostaddress.
You are passing a parameter (what follows the "!") but it will be ignored as the command doesn't know what to do with it.
you need to change your command definition to take into account the additional parameters
create a check_http2 command (considering your parameters are always the same)
command_line $USER1$/check_http -H $HOSTADDRESS$ -S -t 10 -w 5 -c 10 -f follow
check_command check_http2 would then be what is needed.
keep in mind that $HOSTADDRESS$ resolves to the servers ip as defined in the host definiton.
If you use virtual hosts that would be a problem.
you may want to modify that additionaly like the following (my linux boxes are dead so i'm going from mind use check_http --help from CLI to get the right switches)
command_line $USER1$/check_http -H $HOSTADDRESS$ -u $ARG1$ -S -t 10 -w 5 -c 10 -f follow
using in the following service definition
HOSTNAME is the first parameter and it get's substituted instead of $ARG1$.
Hope it's clear enough.. if not please check the docs for variables or parameters