Tengo un problema extraño en mi aplicación nuxt. Cuando ejecuto npm run dev todo funciona. Pero una vez que npm run build y luego npm run start , tengo el problema de que cannot GET [path of the page here]
Me di cuenta de que tengo ese problema solo si ?verify_url=http%3A%2F%2Fapi.uareacademy.com.au%3A8000%2Fapi%2Femail%2Fverify%2F38%3Fexpires%3D1650449854%26hash%3D09fcd461f0b902db36c51eee9f5ad46782487f70%26signature%3D11b88607ea9664ac3f9792146e88b5130001fe60af5124f00b8cd9da4950afcf esta consulta ?verify_url=http%3A%2F%2Fapi.uareacademy.com.au%3A8000%2Fapi%2Femail%2Fverify%2F38%3Fexpires%3D1650449854%26hash%3D09fcd461f0b902db36c51eee9f5ad46782487f70%26signature%3D11b88607ea9664ac3f9792146e88b5130001fe60af5124f00b8cd9da4950afcf en la url. Si elimino esta consulta, la página se carga bien.
He estado tratando de encontrar la solución durante bastante tiempo y estoy un poco atascado aquí. Cualquier ayuda sería muy apreciada.
Gracias
===
EDIT 1: Encontré cuál es el problema. Es el punto (.) en los parámetros de consulta api.uareacademy.com.au , estoy averiguando cómo solucionarlo. Actualizaré una vez hecho.
EDIT 2: Muy bien, lo arreglé. Necesitaba codificar el punto también desde el servidor. esto es lo que hice (usando php). Reemplazó manualmente el . con %2E que resolvió el problema
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl); return str_replace('.', '%2E', $url);EDICIÓN 3: ahora, aunque la edición dos funciona para probar servicios de correo como la trampa de correo. No funcionará en servicios de correo electrónico en tiempo real como Gmail y Outlook. Prueba esto en su lugar
return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl));Bien, lo arreglé. Necesitaba codificar el punto también desde el servidor. esto es lo que hice (usando php). Reemplazó manualmente el . con %2E que resolvió el problema
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl); return str_replace('.', '%2E', $url); // this wont work return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl)); //this works