You could turn it around and check the collision on the player. To do so add a script to the player like this:
function OnControllerColliderHit (hit : ControllerColliderHit) {
Debug.Log(hit.gameObject.name);
}
Take into account that this way you will be checking if the player has had a collision with the floor instead of checking if the floor has had a collision with the player.
OnCollisionEnter only happens when collision happens but AND it there was no collision inprevious FixedUpdate.
If you want to check if collision is still happening use OnCollisionStay.
Other than that, you dont want to use rigidbody on gameObject that hac character controller. Chose one on another, otherwise wierd thigs are going to be happening.