2012-05-25 21 views
3

我正在構建新的Web應用程序。HTML頭或htaccess文件中的Apple觸摸圖標

我有我的圖標和蘋果圖標都準備好去。我想知道是否需要將它們包含在我的HTML文件的「頭部」 - 或者將它們從.htaccess文件中路由到可接受的文件?

HTML代碼:

<head> 
    <link rel="shortcut icon" href="assets/ico/favicon.ico"> 
    <!-- Standard iPhone --> 
    <link rel="apple-touch-icon" sizes="57x57" href="touch-icon-iphone-114.png" /> 
    <!-- Retina iPhone --> 
    <link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone-114.png" /> 
    <!-- Standard iPad --> 
    <link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad-144.png" /> 
    <!-- Retina iPad --> 
    <link rel="apple-touch-icon" sizes="144x144" href="touch-icon-ipad-144.png" /> 
</head> 

或只是把它們htaccess的?

# Rewrite for Favicons 
RewriteRule ^favicon\.ico$ assets/ico/favicon.ico [L] 
RewriteRule ^apple-touch-icon\.png$ assets/ico/apple-touch-icon.png [L] 
RewriteRule ^apple-touch-icon-57x57\.png$ assets/ico/apple-touch-114-icon.png [L] 
RewriteRule ^apple-touch-icon-114x114\.png$ assets/ico/apple-touch-icon-114.png [L] 
RewriteRule ^apple-touch-icon-72x72\.png$ assets/ico/apple-touch-icon-144.png [L] 
RewriteRule ^apple-touch-icon-144x144\.png$ assets/ico/apple-touch-icon-144.png [L] 

問題:是否有任何負面的只是把它們放在我的.htaccess文件,並從我的HTML刪除它們?

回答

7

如果遵循Apple的命名約定,則不必指定它們。

從蘋果公司的documentation

如果使用的是鏈接元素沒有指定圖標,在網站根目錄中搜索與蘋果觸摸圖標圖標...或蘋果觸摸圖標預組成... 字首。例如,如果該設備的適當的圖標的大小是57 X 57,系統搜索以下列順序文件名:

  • 蘋果觸摸圖標-57x57-precomposed.png
  • 蘋果觸圖標57x57.png
  • 蘋果觸摸圖標precomposed.png
  • 蘋果觸摸的icon.png
+0

很酷 - 謝謝。但是,當蘋果說「...網站根目錄搜索圖標...」,這基本上意味着我的網站將生成404蘋果,如果我沒有預合成圖像? – Laurence

+0

是的,就像'favicon.ico'或'robots.txt'一樣。 404響應只是告訴瀏覽器所請求的圖標不可用。 – Stefan

3

由於您使用的是相同的文件無處不在,你可以只使用:

RewriteRule ^apple-touch-icon\.png$ assets/ico/apple-touch-icon.png [L] 
RewriteRule ^apple-touch-icon-[0-9].* assets/ico/apple-touch-114-icon.png [L] 

此外,爲什麼不將114x114圖標發送到所有iPhone?我做的很多隻是創建一個114x114的圖標並將其命名爲apple-touch-icon.png,並將其放在域的根目錄中。這種方式視網膜得到114px和更大的將它調整到一半。唯一的缺點是你在apache錯誤日誌中獲得了幾個404,但是誰在乎。