您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關php不同域名不同頁面怎么實現(xiàn)的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
php不同域名不同頁面的實現(xiàn)方法:1、通過純PHP原生代碼實現(xiàn);2、通過修改htaccess來實現(xiàn),htaccess的URL重寫規(guī)則如“RewriteCond %{http_host} ^bb.abc.com”。
PHP 根據(jù)不同的域名顯示不同頁面
$domain_route = array( 'www.phpurl1.com' => 'a.php', 'www.phpurl2.com' => 'b.php', ); $domain = $_SERVER['SERVER_NAME']; $target_url = $domain_route[$domain]; header("location:{$target_url}");
現(xiàn)要增加一個二級域名bb.abc.com也指向www.abc.com服務器,并將域名后路徑改為和www.abc.com形式相同,即
http://bb.abc.com ---> ./filedir/bb.php
http://bb.abc.com/late/ ---> ./filedir/bblate.php?p=1
這要如何寫.htaccess的URL重寫規(guī)則呢?根據(jù)判斷域名顯示不同內容
方法:
RewriteCond %{http_host} ^bb.abc.com$
RewriteRule ^(/)?$ ./filedir/bb.php [L]
RewriteCond %{http_host} ^bb.abc.com$
RewriteRule ^late/$ ./filedir/bblate.php?p=1 [L]
來自:http://www.php.cn/php-weizijiaocheng-108663.html
其實這里的%{http_host}和《PHP 超級全局變量》【$_SERVER】的HTTP_HOST 一樣;
下表列出了所有 $_SERVER 變量中的重要元素:
元素/代碼 | 描述 |
---|---|
$_SERVER['PHP_SELF'] | 當前執(zhí)行腳本的文件名,與 document root 有關。例如,在地址為 http://example.com/test.php/foo.bar 的腳本中使用 $_SERVER['PHP_SELF'] 將得到 /test.php/foo.bar。__FILE__ 常量包含當前(例如包含)文件的完整路徑和文件名。 從 PHP 4.3.0 版本開始,如果 PHP 以命令行模式運行,這個變量將包含腳本名。之前的版本該變量不可用。 |
$_SERVER['GATEWAY_INTERFACE'] | 服務器使用的 CGI 規(guī)范的版本;例如,"CGI/1.1"。 |
$_SERVER['SERVER_ADDR'] | 當前運行腳本所在的服務器的 IP 地址。 |
$_SERVER['SERVER_NAME'] | 當前運行腳本所在的服務器的主機名。如果腳本運行于虛擬主機中,該名稱是由那個虛擬主機所設置的值決定。(如: www.runoob.com) |
$_SERVER['SERVER_SOFTWARE'] | 服務器標識字符串,在響應請求時的頭信息中給出。 (如:Apache/2.2.24) |
$_SERVER['SERVER_PROTOCOL'] | 請求頁面時通信協(xié)議的名稱和版本。例如,"HTTP/1.0"。 |
$_SERVER['REQUEST_METHOD'] | 訪問頁面使用的請求方法;例如,"GET", "HEAD","POST","PUT"。 |
$_SERVER['REQUEST_TIME'] | 請求開始時的時間戳。從 PHP 5.1.0 起可用。 (如:1377687496) |
$_SERVER['QUERY_STRING'] | query string(查詢字符串),如果有的話,通過它進行頁面訪問。 |
$_SERVER['HTTP_ACCEPT'] | 當前請求頭中 Accept: 項的內容,如果存在的話。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 當前請求頭中 Accept-Charset: 項的內容,如果存在的話。例如:"iso-8859-1,*,utf-8"。 |
$_SERVER['HTTP_HOST'] | 當前請求頭中 Host: 項的內容,如果存在的話。 |
$_SERVER['HTTP_REFERER'] | 引導用戶代理到當前頁的前一頁的地址(如果存在)。由 user agent 設置決定。并不是所有的用戶代理都會設置該項,有的還提供了修改 HTTP_REFERER 的功能。簡言之,該值并不可信。) |
$_SERVER['HTTPS'] | 如果腳本是通過 HTTPS 協(xié)議被訪問,則被設為一個非空的值。 |
$_SERVER['REMOTE_ADDR'] | 瀏覽當前頁面的用戶的 IP 地址。 |
$_SERVER['REMOTE_HOST'] | 瀏覽當前頁面的用戶的主機名。DNS 反向解析不依賴于用戶的 REMOTE_ADDR。 |
$_SERVER['REMOTE_PORT'] | 用戶機器上連接到 Web 服務器所使用的端口號。 |
$_SERVER['SCRIPT_FILENAME'] | 當前執(zhí)行腳本的絕對路徑。 |
$_SERVER['SERVER_ADMIN'] | 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數(shù)。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值。(如:someone@runoob.com) |
$_SERVER['SERVER_PORT'] | Web 服務器使用的端口。默認值為 "80"。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。 |
$_SERVER['SERVER_SIGNATURE'] | 包含了服務器版本和虛擬主機名的字符串。 |
$_SERVER['PATH_TRANSLATED'] | 當前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像后的結果。 |
$_SERVER['SCRIPT_NAME'] | 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 常量包含當前腳本(例如包含文件)的完整路徑和文件名。 |
$_SERVER['SCRIPT_URI'] | URI 用來指定要訪問的頁面。例如 "/index.html"。 |
我的實現(xiàn):通過修改.htaccess實現(xiàn)
.htaccess文件
<ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_NAME} ^www.phpurl1.com$ RewriteRule ^(/)?$ a.php [L] RewriteCond %{SERVER_NAME} ^www.phpurl2.com$ RewriteRule ^(/)?$ ./b/b.php [L] </ifmodule>
感謝各位的閱讀!關于php不同域名不同頁面怎么實現(xiàn)就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。