Help with player stafing

Problem:

Player strafes in all directions fine but when rotated 180 degrees the opposite direction he can barely move in any direction.

//Move the player
_controller.Move(new Vector3(_input.move.x, 0f, _input.move.y) * Time.deltaTime * MoveSpeed / 2);

//Rotate the player according to the camera's x rotation
_controller.gameObject.transform.rotation = Quaternion.Euler(0f, _cinemachineTargetYaw, 0f);

This script is on the starter assets character controller.

have also tried the following with the same effect:

_controller.gameObject.transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0, _cinemachineTargetYaw, 0), 15f * Time.fixedDeltaTime);

I’m thinking i shouldn’t use the camera as the rotation reference but am stuck on where to go from here
Thanks for any advice or help at all

if anyone ever has the same problem. the problem wasn’t caused by the rotation. It was actually the move function as what i have above wasn’t calculating the move based off of player direction.