2012-08-05 17 views
15

Creé una regla de reescritura en IIS7 que utiliza el atributo trackAllCaptures = "false" en el elemento de condiciones y usa las reglas de salida. Todo funciona bien en mi sistema de prueba sin embargo cuando puedo implementar estas reglas para GoDaddy me sale el error:cómo sé qué versión del módulo de reescritura de URL de IIS7 está instalado

Unrecognized attribute 'trackAllCaptures' 

Y si incluyo el nodo outboundRules me sale un error 500 del servidor. Hablé con su apoyo e insisten en que tienen soporte para la versión 2.0 del módulo de reescritura de URL. Mi pregunta es ¿cómo puedo verificar o comunicarles cómo verificar la versión de este módulo? No puedo encontrar un camino más que intentar instalarlo sobre cómo verificar la versión.

Estoy intentando reescribir las URL para una aplicación ASP.Net, no para WordPress, a fin de eliminar la subcarpeta de la URL, este es un problema muy frecuente en su alojamiento multidominio. La muestra que estoy usando se encuentra aquí: http://weblogs.asp.net/owscott/archive/2010/05/26/url-rewrite-multiple-domains-under-one-site-part-ii.aspx

+0

I tiene la versión 2.0 instalada con fecha 30/6/2010, está en% SystemRoot% \ system32 \ inetsrv \ rewrite.dll con una cadena de versión de archivo/producto de 7.1.871.0, entonces tal vez consulte la versión de su rewrite.dll? –

+0

¿Sabe si se está ejecutando en un entorno de confianza total o parcial? – Kev

+0

Me estoy ejecutando en un entorno de confianza medio. ¿TrackAllCaptures o las reglas outboundRules requieren plena confianza? – blkbam

Respuesta

22

el binario para reescritura de URL se encuentra en:

 
%SystemRoot%\system32\inetsrv\rewrite.dll 

de reescritura de URL 1.1 tiene una versión del archivo de 7.1.490.43.
Url Rewrite 2.0 tiene una versión de archivo de 7.1.761.0 o 7.1.871.0 (puede haber otras pero estas son las dos versiones diferentes que conozco).

Si usted no tiene acceso a la consola para verificar el número de versión intente ejecutar el código siguiente en una página Web sencilla:

Assembly a = Assembly.Load("Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"); 
Response.Write(a.FullName); 

Si UrlRewrite 2.0 se instala entonces usted verá algo como:

 
Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 

Si no es así, entonces obtendrá una excepción lanzada:

Could not load file or assembly 'Microsoft.Web.Iis.Rewrite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

usted co ULD también les apuntan en esta página de documentación:

Tracking Capture Groups Across Conditions

Este párrafo hace que sea bastante claro que trackAllCaptures es una configuración específica de 2.0 y si no funciona entonces definitivamente 2.0 no está instalado:

In URL Rewrite Module 2.0, it is possible to change how capture groups are indexed. Enabling trackAllCaptures setting to on the <conditions> collection makes the capture groups form all matched conditions to be available through the back-references.

+0

Cuando probé la muestra de código, funciona localmente y falla cuando la cargo en su servidor, ya que estoy seguro de que todos lo esperábamos. Estoy a punto de seguir con ellos y ver si puedo obtener una respuesta directa de ellos. – blkbam

+0

He tenido este mismo problema y he estado contactando con el soporte de GoDaddy para informarles.Esta noche crearon un ticket importante para que se abordara este problema. Siento que he logrado algo, pero eso está por verse. El atributo trackAllCaptures no se reconoce, aunque creo que no tenían la intención de hacerlo. – rwkiii

Cuestiones relacionadas