WordPress 製作響應式企業網站響應式外貿網站特別特別頭痛的是 IE 相容問題,為了省事起見,搞一個頁面提示使用者升級瀏覽

器或者顯示簡單的靜態頁面最好不過了。那麼我們就需要運維來配置 nginx rewrite 規則了。

配置規則如下:

server {
listen 80;
server_name xxx.xxx.com;
root /www ;
if ( $http_user_agent ~* "MSIE [6-9].[0-9]") {
rewrite /ie.html break;
}
}

解釋一下上面的配置

$http_user_agent  客戶端 agent 資訊 (這個是瀏覽器的標識,如果你開了訪問日誌的話,可以去看一下。每種瀏覽器的標識可能都不一樣。)

~*  使用正規表示式,並且不區分大小寫

MSIE [6,7].[0-9]   MSIE-IE 瀏覽器的標識,這裡匹配的是 IE 瀏覽器在版本在 6 到 9 的,例如 6.1,7.0,8.2 等等···

rewrite   /ie6.html   只要匹配則返回指定的靜態頁面

break 停止執行當前這一輪的 ngx_http_rewrite_module 指令集

如果需要驗證是否生效的話,這裡提供一個比較方便的工具 IETester,可以模擬 IE 任意版本的瀏覽器來測試。

拓展瞭解:nginx 全域性變數

$args #這個變數等於請求行中的引數。
$content_length #請求頭中的 Content-length 欄位。
$content_type #請求頭中的 Content-Type 欄位。
$document_root #當前請求在 root 指令中指定的值。
$host #請求主機頭欄位,否則為伺服器名稱。
$http_user_agent #客戶端 agent 資訊
$http_cookie #客戶端 cookie 資訊
$limit_rate #這個變數可以限制連線速率。
$request_body_file #客戶端請求主體資訊的臨時檔名。
$request_method #客戶端請求的動作,通常為 GET 或 POST 。
$remote_addr #客戶端的 IP 地址。
$remote_port #客戶端的埠。
$remote_user #已經經過 Auth Basic Module 驗證的使用者名稱。
$request_filename #當前請求的檔案路徑,由 root 或 alias 指令與 URI 請求生成。
$query_string #與 $args 相同。
$scheme #HTTP 方法 (如 http,https) 。
$server_protocol #請求使用的協議,通常是 HTTP/1.0 或 HTTP/1.1 。
$server_addr #伺服器地址,在完成一次系統呼叫後可以確定這個值。
$server_name #伺服器名稱。
$server_port #請求到達伺服器的埠號。
$request_uri #包含請求引數的原始 URI,不包含主機名,如:」/foo/bar.php?arg=baz」 。
$uri #不帶請求引數的當前 URI,$uri 不包含主機名,如」/foo/bar.html」 。
$document_uri #與 $uri 相同。