How to rotate an object by direction ?

I want to place a rod connecting 2 vector positions.

The problem is the rod get place in the middle but the orientation is not correct. How should I correct it?

void OnTriggerEnter(Collider other) 
{
    	
	Vector3 connectDirection 	= other.gameObject.transform.position - trans.position;
					
	Vector3 midPoint			= trans.position + (connectDirection/2);
		
	GameObject con = (GameObject)Instantiate(rod,midPoint, Quaternion.LookRotation(other.transform.position,midPoint));
				
}

v3Start and v3End are the start and end positions for the rod. The rotation will be:

Quaternion q = Quaternion.FromToRotation(Vector3.up, v3End-v3Start);

Or you can pull out the Euler angles: q.eulerAngles. You may need to also size your rods based on (v3End-v3Start).magnitude.