2013-05-01 39 views
0

我們在Joomla CMS系統上創建了一堆登陸頁面,每個登錄頁面的URL都是www.domain.com/page1.html和www.domain .com/page2.html等等。當然,page1.html並不是一個真正的HTML文件,它是一個動態的CMS頁面,只是用htaccess重寫。多個域名顯示來自其他域名上的內容頁面的內容

我們的目標是擁有其他域名之一,如www.uniquedomain1.com顯示www.domain.com/page1.html的內容。或者,www.uniquedomain2.html等其他域名顯示www.domain.com/page2.html的內容。

這需要搜索引擎友好,所以我們不能使用URL掩碼。此外,我們無法使用HTACCESS重定向,因爲這實際上會更改瀏覽器欄中的網址。需要將www.uniquedomain1.com網址保留在瀏覽器欄中。

嘗試Apache VirtualHost選項沒有任何運氣。您可以停放在一個目錄中,但不能通過URL。

完成將域停放在一個文件夾上,然後創建PHP腳本來檢測域主機,然後使用CURL查詢正確的URL並提供內容。這整個事情似乎過分複雜,當然CURL不是最好的選擇,但它是我們所能工作的。

任何想法如何做到這一點,或更好的解決方案?

回答

0

您可以使用HTACCESS重定向規則在不執行重定向的情況下執行此操作。

改變HTML文件名要像domain.tld所需域的域名,做這樣的事情在.htaccess文件

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(?:www\.)?([a-z0-9\.-]+\.[a-z]+) [NC] 
RewriteRule ^$ /%1.html [L] 

的這種快速測試工作了我的兩個測試(子)域test.domain.tld和test2.domain.tld。兩者都正確重定向到名稱爲test.domain.tld.htmltest2.domain.tld.html的文件,而無需修改URL。

0

您也可以使用您的PHP包裝腳本來獲取每個雜項html文件的內容並輸出它們。

如果您將所有HTML文件(如我以前的建議答案)重命名爲domain.tld.html,那麼您可以相當容易地完成此操作。東西可能是這樣的:

<?php 

require($_SERVER['SERVER_NAME'] .'.html'); 
+0

糾正我,如果我錯了,但我相信PHP的要求必須是一個物理文件。這些頁面不是實際的HTML文件,它們只是從CMS發送的動態頁面。 .html誤導它只是一個mod_rewrite。 – 2013-05-01 01:18:27

+0

是的,這是行不通的。我誤解了它是由我的cms產生的 – Ding 2013-05-01 01:21:05