addforce to rigidbody when hit


I want to add force to the player rigidbody backwards.

So if a creature hits me i get thrown backwards a couple of meters.

I got this:

                    if (hit.rigidbody)
                            if (GetComponent<CharacterDamage>().Throw == true)
                        hit.rigidbody.AddForce(-hit.transform.forward * 2000);
                        hit.rigidbody.AddForce(hit.transform.up * 200);

Now when i get hit it does correctly what it supposed to if the player is facing the creature.

But when the creature sneaks up on the player from the back, the player gets thrown in the wrong direction.

How can i change it so that the player gets thrown in the right direction no matter where the creature hits me?

//compute vector (length one) from game object’s pivot to the player’s pivot:
Vector3 hitVector = (hit.transform.position - transform.position).normalized;

//if you want only horizontal plane movement, disable y-component of hitVector:
hitVector = (hit.transform.position - transform.position);
hitVector.y = 0;
hitVector = hitVector.normalized 

hit.rigidbody.AddForce(hitVector* 2000 );