溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php不同域名不同頁面怎么實現(xiàn)

發(fā)布時間:2020-12-01 10:34:27 來源:億速云 閱讀:232 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關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ù)不同的域名顯示不同頁面

解決方案一:純PHP原生代碼實現(xiàn)

 $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}");

解決方案二:通過修改.htaccess實現(xiàn)

現(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)就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

php
AI