Tengo una regla de reescritura, que cambia una variable de servidor con el valor de un subdominio. Esto funciona en subdomain.mydomain.nl/somethinghere pero no en subdomain.mydomain.nlReescribiendo la variable del servidor en IIS 7.5
<rule name="Change code" enabled="true" patternSyntax="ECMAScript" stopProcessing="false">
<match url=".*" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{SERVER_NAME}" pattern="(www\.)?(\w+)\.mydomain\.nl" />
<add input="{SERVER_NAME}" pattern="^www.mydomain.nl.*" negate="true" />
<add input="{SERVER_NAME}" pattern="^mydomain.nl.*" negate="true" />
</conditions>
<serverVariables>
<set name="MYVARIABLE" value="{C:2}" />
</serverVariables>
<action type="None" />
</rule>
He probado 2 URLs: 1: subdomain.mydomain.nl/somethinghere 2: subdomain.mydomain.nl
que recuperar la variable en PHP con el siguiente código:
echo $_SERVER['MYVARIABLE'];
en caso de URL 1, la salida de este es "subdominio".
En el caso de la URL 2, el resultado de esto es "".
El resultado de la URL 1 es correcto, pero el resultado de la URL 2 también debe ser "subdominio".
He ejecutado un seguimiento de ambas solicitudes, y ambas muestran que la regla se está emparejando y se está ejecutando.
¿Alguien me puede ayudar?
Muchas gracias por su respuesta, esta es la solución. Realmente extraño que no pude encontrar esta documentado anywhre. – user1071188
Para establecer los encabezados de solicitud, es necesario agregar HTTP_. Esto está documentado [aquí] (http://learn.iis.net/page.aspx/665/url-rewrite-module-20-configuration-reference/#Setting_Server_Variables) (ver "Nota sobre los encabezados de las solicitudes"). Lo que también me desconcierta es por qué configurar un encabezado de solicitud siempre funciona, pero la configuración de una variable de servidor no siempre parece funcionar. –
Gracias hombre. ¡me salvaste la vida! –