$domain_route = array(
'www.phpurl1.com' => 'a.php',
'www.phpurl2.com' => 'b.php',
); $domain = $_server['server_name'];
$target_url = $domain_route[$domain];
header("location:");
現要增加乙個二級網域名稱bb.abc.com也指向www.abc.com伺服器,並將網域名稱後路徑改為和www.abc.com形式相同,即
---> ./filedir/bb.php
/late/ ---> ./filedir/bblate.php?p=1
這要如何寫.htaccess的url重寫規則呢?根據判斷網域名稱顯示不同內容
方法:rewritecond % ^bb.abc.com$
rewriterule ^(/)?$ ./filedir/bb.php [l]
rewritecond % ^bb.abc.com$
rewriterule ^late/$ ./filedir/bblate.php?p=1 [l]
來自:
其實這裡的%和《php 超級全域性變數》【$_server】的http_host 一樣;下表列出了所有 $_server 變數中的重要元素:
元素/**
描述$_server['php_self']
當前執行指令碼的檔名,與 document root 有關。例如,在位址為 的指令碼中使用 $_server['php_self'] 將得到 /test.php/foo.bar。__file__ 常量包含當前(例如包含)檔案的完整路徑和檔名。 從 php 4.3.0 版本開始,如果 php 以命令列模式執行,這個變數將包含指令碼名。之前的版本該變數不可用。
$_server['gateway_inte***ce']
伺服器使用的 cgi 規範的版本;例如,"cgi/1.1"。
$_server['server_addr']
當前執行指令碼所在的伺服器的 ip 位址。
$_server['server_name']
當前執行指令碼所在的伺服器的主機名。如果指令碼執行於虛擬主機中,該名稱是由那個虛擬主機所設定的值決定。(如: www.runoob.com)
$_server['server_software']
伺服器標識字串,在響應請求時的頭資訊中給出。 (如:apache/2.2.24)
$_server['server_protocol']
請求頁面時通訊協議的名稱和版本。例如,"http/1.0"。
$_server['request_method']
訪問頁面使用的請求方法;例如,"get", "head","post","put"。
$_server['request_time']
請求開始時的時間戳。從 php 5.1.0 起可用。 (如:1377687496)
$_server['query_string']
query string(查詢字串),如果有的話,通過它進行頁面訪問。
當前請求頭中 accept: 項的內容,如果存在的話。
當前請求頭中 accept-charset: 項的內容,如果存在的話。例如:"iso-8859-1,*,utf-8"。
當前請求頭中 host: 項的內容,如果存在的話。
引導使用者**到當前頁的前一頁的位址(如果存在)。由 user agent 設定決定。並不是所有的使用者**都會設定該項,有的還提供了修改 http_referer 的功能。簡言之,該值並不可信。)
如果指令碼是通過 https 協議被訪問,則被設為乙個非空的值。
$_server['remote_addr']
瀏覽當前頁面的使用者的 ip 位址。
$_server['remote_host']
瀏覽當前頁面的使用者的主機名。dns 反向解析不依賴於使用者的 remote_addr。
$_server['remote_port']
使用者機器上連線到 web 伺服器所使用的埠號。
$_server['script_filename']
當前執行指令碼的絕對路徑。
$_server['server_admin']
該值指明了 apache 伺服器配置檔案中的 server_admin 引數。如果指令碼執行在乙個虛擬主機上,則該值是那個虛擬主機的值。(如:[email protected])
$_server['server_port']
web 伺服器使用的埠。預設值為 "80"。如果使用 ssl 安全連線,則這個值為使用者設定的 http 埠。
$_server['server_signature']
包含了伺服器版本和虛擬主機名的字串。
$_server['path_translated']
當前指令碼所在檔案系統(非文件根目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。
$_server['script_name']
包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。__file__ 常量包含當前指令碼(例如包含檔案)的完整路徑和檔名。
$_server['script_uri']
uri 用來指定要訪問的頁面。例如 "/index.html"。
來自:如果你需要更深入的了解請看下面的文章
.htaccess檔案
rewriteengine on
rewritecond % ^www.phpurl1.com$
rewriterule ^(/)?$ a.php [l]
rewritecond % ^www.phpurl2.com$
rewriterule ^(/)?$ ./b/b.php [l]
ecshop通過不同網域名稱訪問顯示不同模板的方法
應使用者需求共用同一套ecshop資料,後台繫結多個網域名稱,且每個網域名稱對應顯示不同模板。實現思路,ecshop採用smarty模板引擎,修改他的編譯目錄和快取目錄就可以實現ecshop不同網域名稱展示不同模板功能 廢話少說,修改如下。一 在init.php大概117行 cfg load con...
Nginx根據網域名稱分發不同埠
原文首發於 本文出自 rebornchang的部落格 博主有買了兩個網域名稱,但是只購買了乙個主機,主機只有乙個80埠,但是又不想訪問的時候帶埠訪問,所以就想著通過不同的網域名稱請求訪問不同的埠。在乙個主機上部署了兩個服務例項,分別是81,82埠。網域名稱經過dns解析之後訪問的是指定伺服器ip的8...
iPhone上根據不同的國家顯示廣告
本段教程和 例子由 cocoachina 會員 巫山冰 分享,可以自動識別 iphone 所在地區,如果是美 日 英 法 德等支援 iad 廣告的國家,顯示 iad 廣告 其它地區則顯示 admob 廣告。部署廣告函式 本函式在viewdidload 中呼叫,同時也可以在購買 廣告去除 成功後呼叫 ...