Technically speaking
It is impossible to prevent entry into a trigger, since the code that you would be using to eject them, has run because they are already inside the trigger.
But yeah - what they said about jumping to a waypoint etc
I would actually suggest you put lots of invisible objects about 1 meter away from the outer edges of the trigger perimeter.
Then in the onEnter script, tell it to find the closest object by tag (your invisible jump target)
Then tell the entering object to jump to that one
Eg
Imagine you have a trigger here, with X being your jump target.
If the player enters from the other side, it looks like a teleport if they end up jumping across the trigger to the other side
==============
X = =
= =
= = ============
X X X X X X
X ============== X
X = = X
X = = X
X = = ============ X
X X X X X X X
The above example however, gives the script lots of other targets to jump you to - meaning that you will have a more realistic 'bounce' effect when you enter from any side.
Eg: The script will find the closest X from the player, and then tell the player to JumpToObject on the X object.
I recommend you apply a knockdown effect etc to discourage constant running into the trigger.
Also - Ensure that the X's are far enough away from the trigger.
If the player tries hard enough, and they are able to keep walking while 'sliding' to the X, they can sometimes overcome the triggers script and remain inside the trigger.
Since the trigger only runs the onEnter event once per entry, if they manage to fight against the script and end up avoiding the full teleport, they will have managed to stay in without being ported out.
So avoid this by making sure the X locations are at least 1-2 meters away from the perimeter.