2016-07-06 49 views
0

基本上每個人都在domain.com/site?name=whatever重定向子域名PHP頁面,並掩蓋它

我的主機已經自動執行的子域自己的頁面的設置(例如,如果我要創建一個名爲道爾頓的文件夾我可以自動獲得訪問dalton.domain.com)

無論如何,我希望人們能夠去whatever.domain.com,併爲它實際上是查詢domain.com/site?name=whatever(我希望它也掩蓋它,所以他們仍然在子域)

任何想法?這甚至有可能嗎?

回答

0

如果你設置了一個index.php網頁,其中每個子域點,你可以

  • 檢索「子域」的URL
  • 的一部分創建包含要顯示
  • 實際頁面的iFrame

這通常是很多域名託管公司「掩蓋」的方式。


index.php(有刪節):

<?php 
    //Get subdomain 
    $subdomain = array_shift((explode(".",$_SERVER['HTTP_HOST']))); 

    //Rewrite URL 
    $url = "http://www.domain.com/site?name=" . $subdomain; 

    //Create page 
    echo "<!doctype html><html><head><title>Page Title</title></head><body style='margin:0;padding:0;'>"; 

    //Create full-screen iframe with that page as the URL 
    echo '<iframe src="'.$url.'" style="border: 0; width: 100%; height: 100%"></iframe>'; 

    //Close page 
    echo "</body></html>"; 

或者,你可以用.htacccess幾乎完全處理這個問題:

.htaccess(有刪節):

#Use the Rewrite engine 
RewriteEngine on 

#Doesn't start with "www." 
RewriteCond %{HTTP_HOST} !^www\. 

#Check URL is "something.domain.com" 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com 

#Capture the subdomain and rewrite 
RewriteRule ^(.*)$ http://domain.com/site?name=/%1/$1 [L,NC,QSA] 
+0

@DaltonEdwards查看我的編輯 – Ben

+0

很酷,所以.htaccess sorta適用於例如swag.domain.com重定向到domain.com/site?name=swag(但它不掩蓋)。我嘗試使用您的PHP腳本,但它不工作。 –

+0

@DaltonEdwards是的,這是正確的。無論是使用一種解決方案還是其他解決方案 - 但是.htaccess解決方案可能更易於管理且易於調試! – Ben