How do I make object only collide with certain objects based on position of collision within the collider?

I am making a 2D platformer. The character is a 100X100 sprite that has about 20 pixels blank at the bottom. The purpose of this is to give the illusion of floating. The player’s collider goes to the bottom of its sprite and the platforms have edge colliders on the very top of them. The issue is that if a player hits an enemy or obstacle from above, the player hits it when the collider (below where the player visually is) hits the obstacle. What I want to do is simply say that the collision with the obstacle occurs only at a lower point, but I don’t even know if this is the right approach. I’m open to ideas of any kind.

In a situation like this, I would opt for 2 colliders and get the lower one to ignore collisions with everything except for the ground and the other one can collide with enemies/obstacles/etc. You can use the layer collision matrix to define what collider layers to ignore. Check out this post: