An appropriate representation of the requested resource could not be found on this server

Si gestionas un sitio web con contenidos en ruso, o que esté orientado a usuarios rusos que pueden registrarse o rellenar y enviar formularios en los que se pide el email, es más que probable que estos usuarios tengan direcciones del tipo yandex.ru y que tengan problemas con tu sitio web, por ejemplo, viendo un mensaje similar a este cuando envíen el formulario de registro (o uno similar en el que deban escribir su dirección de correo electrónico)

Not Acceptable
An appropriate representation of the requested resource could not be found on this server.

La causa más probable es la configuración de seguridad de tu servidor. En el caso de un servidor que tenga activado mod_security, verás un registro como este en el log de errores del servidor:

[Tue Jan 07 22:43:13.627357 2020] [:error] [pid 6139] [client xxx.xxx.xxx.xxx:63118] [client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 406 (phase 2). Matched phrase "@yandex.ru" at ARGS:xemails. [file "/etc/modsecurity/custom/20_bruteforce.conf"] [line "78"] [id "222"] [msg "Posted SPAM domain in blacklist"] [data "blablabla@gmail.com\\x0d\\x0ablablabla@yandex.ru\\x0d\\x0ablablabla@yandex.com"] [hostname "dominio.com"] [uri "/apps/test/"] [unique_id "XkT9cBJihlIABAr@lkYXAWAz"], referer: http://dominio.com/apps/test/

El motivo del error es que el servidor encuentra la cadena de texto “yandex.ru” en los datos enviados por el formulario y bloquea la acción al identificar este dominio como spamer (como si no se mandara spam desde gmail.com o hotmail.com)

La solución

Afortunadamente, la solución es muy sencilla. Basta con echar un vistazo a la línea del log del servidor y ver el ID de la regla que está aplicando mod_security (en este caso, sería 222) y añadir una excepción a esta regla en el .htaccess de nuestro servidor.

SecRuleRemoveById 222

Puedes encontrar otros motivos (reglas de mod_security) que están bloqueando tu script, pero encontrarás la explicación igualmente en el log de errores del servidor.