2011-09-27 14 views
10

Descargué el texto estándar html5 y no validaría con esto en el encabezado.http-equiv = "X-UA-compatible" content = "IE = edge, chrome = 1" ... ¿Poner esto en .htaccess?

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" > 

Me dijeron que puedo agregar esto a .htaccess para el mismo efecto para evitar errores de validación.

<IfModule mod_headers.c> 
    Header set X-UA-Compatible "IE=Edge,chrome=1" 
    # mod_headers can't match by content-type, but we don't want to send this header on *everything*... 
    <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|xpi|safariextz|vcf)$" > 
    Header unset X-UA-Compatible 
    </FilesMatch> 
</IfModule> 

Mi pregunta es

  1. ¿Cómo se prueba para asegurarse de que esto esté funcionando correctamente
  2. qué hace el parámetro FilesMatch? ¿Debería modificar eso o es tan bueno como es?

Respuesta

11

tratar de pasar a través del web.config o htacess archivo

Web.Config

<httpProtocol> 
    <customHeaders> 
    <clear /> 
    <add name="X-UA-Compatible" value="IE=Edge,chrome=1" /> 
    </customHeaders> 
</httpProtocol> 

su página será válida después de eso. Lo siento, no soy un chico php.

+0

.htaccess funciona muy bien. +1 – jasonflaherty

2

¿Cómo se prueba para asegurarse de que esto esté funcionando correctamente

hacer una petición a un URI y mirar las cabeceras de respuesta. Hay muchas herramientas para hacerlo, incluidas las herramientas Charles Proxy, Firebug y Chrome Developer.

¿Qué hace el parámetro filesmatch?

Es described in the manual

+0

¡Gracias! Mi siguiente pregunta es ... He agregado lo siguiente para reenviar www a no-www y aparece cuando escribo www.domain.com en google o firefox, pero sigue en www. ¿Es esto solo una parte del navegador o en realidad no está funcionando? – Tallboy

+0

RewriteCond% {HTTPS}! = En RewriteCond% {HTTP_HOST}^www \. (. +) $ [NC] RewriteRule^http: //% 1% {REQUEST_URI} [R = 301, L] Tallboy

+0

Para realizar su próxima pregunta, utilice el enlace [preguntar pregunta] (http://stackoverflow.com/questions/ask) – Quentin

7

La mejor configuración .htaccess que he encontrado es ésta a continuación:

<IfModule mod_setenvif.c> 
    <IfModule mod_headers.c> 
    BrowserMatch MSIE ie 
    Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie 
    </IfModule> 
</IfModule> 

, ya que envía la cabecera sólo para navegadores IE.

+0

"Mejor" siempre depende de los puntos de vista. No es lo mejor en mi humilde opinión, ya que esto resuena en el navegador y, lo que es peor, en el lado del servidor. El rastreo del navegador no es una solución 100% confiable.Algunos usuarios ofuscan su navegador, algunos proxies corporativos pueden hacer lo mismo, los proxies pueden almacenar en caché la respuesta y devolverla a otros navegadores, los navegadores evolucionan y las versiones futuras pueden no ser reconocidas, ... –

+0

¡Claro! Creo que en este caso no es gran cosa, ya que el rastreo del navegador no desencadena una característica crítica. – tzi

4

http://www.validatethis.co.uk/tag/x-ua-compatible/

Aaron Layton tiene todo escuchar :) sólo tiene que desplazarse hacia abajo para el "El arreglo" y evitar todo lo anterior :)

O puede agregarlo a su archivo .htaccess como esto:

<FilesMatch "\.(htm|html|php)$"> 
    <IfModule mod_headers.c> 
     BrowserMatch MSIE ie 
     Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie 
    </IfModule> 
</FilesMatch> 
Cuestiones relacionadas