Route to virtual addresses (10.168.88.0/24 or whatever you used) on web server machine must point to router where you're doing this. You don't need to add anything, it's covered by default route, if it points to this router. Basically it would be a problem only if server had route to this subnet going elsewhere.
i don't understand, do i need to put something on my web server? or only on the hairpin rule?
As always, it helps to watch what happens, go step by step and find out where it fails. Dstnat is ok, you didn't change that. Srcnat for hairpin, if you didn't do other modifications, is pretty much the same. But you can verify (using Tools->Torch or logging rules in postrouting) that you see packets from 10.168.88.x going to server, if server sees them, accepts connections, send anything back, etc..
i tried with the log, and to me, both logs are the same, heres the one with the masquarade action (the working one)
masq: srcnat: in:(unknown 0) out:bridgeLAN, src-mac 04:d4:c4:53:46:52, proto TCP (SYN), 192.168.0.30:25310->192.168.0.15:80, NAT 192.168.0.30:25310->(201.171.144.99:80->192.168.0.15:80), len 52
and heres the one with the netmap action
netmap: srcnat: in:(unknown 0) out:bridgeLAN, src-mac 04:d4:c4:53:46:52, proto TCP (SYN), 192.168.0.30:25308->192.168.0.15:80, NAT 192.168.0.30:25308->(201.171.144.99:80->192.168.0.15:80), len 52
here are my nat rules, i disable one hairpin rule and enable the other to test, maybe i forgot to tell you guys that i have two WAN, one cable and one dsl, the cable WAN is behind a NAT so ports are closed, i use the DSL as the gateway of my servers, from the outside all works ok and with the 1st hairpin rule, from the inside my server is reachable with my DSL public ip address.
/ip firewall nat
add action=masquerade chain=srcnat comment="Hairpin NAT Masq" dst-address=\
192.168.0.0/24 log=yes log-prefix="masq: " src-address=192.168.0.0/24
add action=netmap chain=srcnat comment="Hairpin NAT Masq" disabled=yes \
dst-address=192.168.0.0/24 log=yes log-prefix="netmap: " src-address=\
192.168.0.0/24 to-addresses=10.168.0.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
out-interface=ether1-WAN1
add action=masquerade chain=srcnat comment="defconf: masquerade" \
out-interface=pppoe-Telnor
add action=dst-nat chain=dstnat dst-address-list=WAN2-ADDR dst-address-type=\
"" dst-port=80 protocol=tcp to-addresses=192.168.0.15 to-ports=80