Estoy usando N2Cms y estoy viendo algunos problemas que tengo con él. Tiene un panel de navegación en el lado izquierdo que se carga a través de ajax a medida que expandes el árbol.500 Error interno del servidor IIS7 URL codificada
El código que obtiene el hijo del nodo llama a un archivo ashx con algunos parámetros. Un parámetro es para una ruta y contiene barras en ella. Por esta razón, ha sido codificado.
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=%252fhome%252fhelp-and-advice%252f
he tenido ningún problema con esto en mi servidor de desarrollo (que se ejecuta IIS 7.5), pero cuando se despliega a nuestro servidor de prueba (iis7) la navegación no funciona.
Investigar esto ha demostrado que la URL anterior da un error de 500.
Si i decodificar la url para
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=/home/help-and-advice/
es que funciona sin problemas.
Desafortunadamente no puedo cambiar el código que genera esto como parte del código fuente de n2cms y supongo que ha sido codificado por un buen motivo.
¿Alguien sabe algo que puedo hacer en mi web.config para permitir parámetros codificados o algo que pueda cambiar en el servidor iis?
EDIT: Así que este enlace parece sugerir que está haciendo esto a propósito como una medida de seguridad. http://msdn.microsoft.com/en-us/library/ee656542.aspx
La solución propuesta es actualizar a .NET 4.0 y añadir lo siguiente al web.config
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>
Por desgracia esto parece tener ningún efecto.
¿Alguna idea de por qué esto no funciona?
URLScan parece ser un complemento iis. No creo que lo tengamos instalado. No puedo solucionarlo en los programas para eliminar complementos o las características de Windows. – sianabanana
Marca aquí C: \ Windows \ System32 \ inetsrv \ urlscan o aquí C: \ Windows \ SysWOW64 \ inetsrv \ urlscan. La ubicación depende de si está ejecutando 64 bits. Si urlscan existe en una de esas ubicaciones y hay un subdirectorio "logs", entonces lo está ejecutando. –
Como dije, no está instalado. Esas carpetas no existen y ninguna referencia a urlscan en ningún archivo o carpeta en la máquina. – sianabanana