2011-09-27 16 views
10

Ho scaricato html5 boilerplate e non si sarebbe convalidato con questo nell'intestazione.http-equiv = "X-UA-Compatible" content = "IE = edge, chrome = 1" ... Mettendo questo in .htaccess?

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

mi è stato detto che posso aggiungere questo in .htaccess per lo stesso effetto per evitare errori di convalida.

<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> 

La mia domanda è

  1. Come faccio a testare per assicurarsi che questo funzioni correttamente
  2. Cosa parametro FilesMatch fare? dovrei modificarlo o è abbastanza buono così com'è?

risposta

11

cercare di passare attraverso il web.config o htacess file di

Web.Config

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

vostra pagina sarà valida dopo. Scusa, non sono un ragazzo php.

+0

.htaccess funziona alla grande. +1 – jasonflaherty

2

Come faccio a testare per assicurarsi che questo funzioni correttamente

Fare una richiesta a un URI e guardare le intestazioni di risposta. Ci sono molti strumenti per farlo, inclusi Charles Proxy, Firebug e Chrome Developer Tools.

Che cosa fa il parametro filesmatch?

È described in the manual

+0

Grazie! La mia prossima domanda è ... Ho aggiunto quanto segue per inoltrare www a non-www e appare quando digito www.domain.com su google o firefox, rimane comunque su www. Questa è solo una parte del browser o in realtà non funziona. – Tallboy

+0

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

+0

Per porre la domanda successiva, utilizzare il collegamento [ask question] (http://stackoverflow.com/questions/ask) – Quentin

7

La migliore configurazione .htaccess che ho trovato è questo qui sotto:

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

perché invia l'intestazione solo per i browser IE.

+0

"Il migliore" dipende sempre dai punti di vista. Non è meglio imho, per questo lo sniffing del browser e, peggio, dal lato server. Lo sniffing del browser non è una soluzione affidabile al 100%.Alcuni utenti confondono il loro browser, alcuni proxy aziendali possono fare lo stesso, i proxy possono memorizzare nella cache la risposta e restituirla ad altri browser, i browser si evolvono e le versioni future potrebbero non essere più riconosciute, ... –

+0

Sicuro! Penso che in questo caso non è un grosso problema, dal momento che lo sniffing del browser non attiva una funzionalità critica. – tzi

4

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

Aaron Layton ha tutto sentire :) basta scorrere al "La correzione" e saltare tutto quanto sopra :)

Oppure si potrebbe aggiungerlo al file .htaccess in questo modo:

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