1、如何實現兩個域名訪問同一個網站
域名跳轉也就是平常所說的網站301重定向,由原來網站指向A地址的,但你想輸入網址後,轉到B地址上,這就是域名跳轉,也稱為Url轉發,一般適用於在多個域名綁定同一個建站CMS的根目錄的時候,在做搜索引擎排名的時候和避免讓用戶記住多個域名的情況下應用。
域名的跳轉分為幾種情況。有301跳轉(301是永久重定向),也有302臨時域名轉移。一般我們做跳轉的時候都是選擇做301跳轉。因為就優化角度來說,302不適用於網站優化。
進行301跳轉的話有三種方法。
第一種:web伺服器做301跳轉。
這種情況適用於獨立伺服器或者VPS使用。設置方法(以IIS6.0伺服器為例):
遠程連接到你的伺服器。然後打開IIS,在網站那裡,右鍵-屬性-網站-IP地址那裡點編輯增加一個站點,增加一個站點,綁定的一下主機頭,也可以綁定多個閑置域名。
打開IIS,首先新建立一個站點,隨便對應一個目錄。這個目錄下可以為空。在欲重定向的網頁或目錄上按右鍵;選中「重定向到URL」;在對話框中輸入目標頁面的地址;切記,記得選
中「資源的永久重定向」;當然,最後要點擊「應用」,完成。
其他Apache伺服器進行跳轉的話,可以進行第二種情況。
第二種:代碼做301跳轉。
這種情況比較常用的。也是最為廣泛快捷的,就是在你需要跳轉的網站根目錄代碼裡面加上跳轉的代碼,跳轉到你的目標網站。
每個CMS的301跳轉代碼設置方法都不一樣,具體可以根據你網站所使用的CMS到網上搜索相應的代碼加入到相應的位置即可。有的是加在index.php/index.htm等文件,有的是直接添加在偽靜態文件,這個需要自行判斷。
第三種:直接在域名做301跳轉。
1、首先解析主域名,主機記錄為@,記錄類型為CNAME
2、接著解析帶www的域名,添加記錄,記錄類型為CNAME
3、記錄值依舊選擇伺服器的IP地址
4、完成後需要等待域名解釋的DNS緩存才可以生效,生效後輸入主域名將直接跳轉到帶www的域名。
一般在做跳轉的時候,我們都是推薦使用前面兩種方法進行做域名的跳轉,尤其第一種辦法,最簡單快捷。而且可以立馬生效。
2、用js獲取同一個域名下(非本頁面)其他網頁頁面上的數據。
直接的辦法我沒有,但是我有個間接的辦法,就是在 a.html 用 localStorage 存起來 12345 然後 b 頁面取 a頁面存起來的值
3、用JS獲取當前域名並判斷
在頁面插入js代碼
<script language="javascript" type="text/javascript">
function loadFN(){
hrefValue = window.location.href; //獲取當前頁面的地址
alertUrls = ['www.bbb.com']; //指定你想要alert的域名,多個可以在數組中直接追加即可
//追加如:['www.bbb.com', 'bbb.com', 'abc.bbb.com']
for(key in alertUrls){
if(String(hrefValue).indexOf(alertUrls[key]) >= 0){
//指定的字元串值alertUrls[key]在字元串href中出現則>=0,否則為-1
alert( alertUrls[key] );
break; //直接跳出循環
}
}
}
///頁面載入完成後即執行loadFN函數
window.onload = loadFN;//前提是原來頁面沒有使用onload,否則還要做些針對的處理
</script>
window.onload = loadFN;//前提是原來頁面沒有使用onload,否則還要做些針對的處理
4、js跨域的時候,如果網站是用IP訪問,埠區分域名,怎麼讓js識別的
一般的瀏覽器環境,無法簡單的跨域。
較復雜的方法是利用 jsonp 技術,來實現跨域通信,參考鏈接:
http://ke.baidu.com/view/2131174.htm?fr=aladdin
但是如 LZ 這樣想要簡單跨域直接操作其他 frame 裡面元素的,無法簡單實現。
5、js跨域訪問js
前提是你要調用dwr的js函數是普通函數而不是他那邊調用後台java類的函數,否則能調但得不到結果。
6、使用js來進行域名授權
js域名授權還是不現實的,js運行在客戶端,瀏覽器可以禁用js
你應該在伺服器端進行域名授權還好些
況且,js存在瀏覽器兼容問題,在每種瀏覽器、每種版本的瀏覽器下,對js的解析都有差異
7、一個伺服器兩個域名,訪問第一個域名,載入不了第二個域名的css js
看你的描述應該是跨域了,這兩個資源因為域名原因處在不同的域下面。
首先內你理解下什麼容是跨域:
什麼是跨域請求
瀏覽器同源策略的限制(訪問同源的資源是被瀏覽器允許的,但是如果訪問不同源的資源,瀏覽器默認不允許。訪問不同源的資源就叫做跨域)
什麼是同源策略(Same Origin Policy)?
同源策略,是瀏覽器的一種核心最基本的安全策略。它對來之不同遠的文檔或腳本對當前文檔的讀寫操作做了限制。同源,即協議相同,域名相同,埠相同
為什麼會有跨域問題
跨域問題只出現在瀏覽器訪問的頁面,因為這是瀏覽器為了保戶用戶安全而製造的策略。假如沒有這層保護,網站就很容易受到跨站偽造請求(CSRF)的攻擊。
然後是如何解決
CORS(跨資源共享- Cross-origin resource sharing)
CORS 是W3C推薦的一種官方方案,能使伺服器支持XmlHttpRequest的跨域請求。CORS只需要添加一些HTTP頭,讓伺服器聲明允許的訪問來源。
設置下HTTP 頭就可以了
Access-Control-Allow-Origin:*8、求JS 指定域名訪問,否則跳轉到某域名
//我寫了一段,看看能用不
var dName=new Array("www.dn1.com","dn2");//允許的域名
dn=location.hostname;//取訪問所用域名
for(i=0;i<dName.length;i++) //在允許的域名中搜索訪問所用域名
if(dn==dName[i])break; //找到後中斷搜索
if(i==dName.length) //沒有中斷,即沒找到
setTimeout("location.Replace('指定域名')",3*1000);//3秒後跳轉
9、有沒有一種js代碼,可以讓不是指定的域名訪問會跳到指定域名。當然包括網站
//我寫了一段,看看能用不 var dName=new Array("www.dn1.com","dn2");//允許的域名 dn=location.hostname;//取訪問所用域名 for(i=0;i<dName.length;i++) //在允許的域名中內搜索訪問所用域名 if(dn==dName[i])break; //找到後中斷容搜索 if(i==dName.length) //沒有中斷,即沒找到 setTimeout("location.Replace('指定域名')",3*1000);//3秒後跳轉