2010-03-18 71 views
3

我爲一個簡單的網站使用jQuery,並有一個主頁'index.html',它可以通過jQuery ajax請求加載一些內容(例如'info1.html'或'info2.html'),並顯示這些結果'index.html'頁面中的元素內部的請求。如果用戶訪問ajax請求的頁面,加載主頁面?

如果用戶以某種方式直接訪問'info1.html',他們是重定向還是加載主'index.html'頁面的方式? (或什麼是這種類型的最佳做法),因爲Google正在索引用於ajax請求的所有小型html文件,有時用戶可以通過這些頁面點擊進入該網站。

謝謝。

回答

5

解決方法1:
因爲jQuery將挑選默認body標籤裏面的內容,你可以在頭元件添加腳本將您重定向到主頁面或元標記(更正確)丹尼爾提到。

解決方法2:
如果您ajaxed文件是一個文件夾中,你可以使用robots.txt文件,並直接向谷歌不索引頁在這些文件夾..

,或者你可以直接從做這些網頁內(看http://en.wikipedia.org/wiki/Noindex

+0

另一個替代方案可能是在htaccess之類的web服務器配置中設置重定向。 – Anurag 2010-03-19 04:11:06

+0

謝謝!我已經使用了這兩種方法,所以你得到了正確的答案,但丹尼爾的回答也非常有用。 – QAZ 2010-03-19 10:42:33

3

您可能需要使用元刷新標籤:

<html> 
<head> 
    <meta http-equiv="refresh" content="0; url=http://mydomain.com/main.html"> 
</head> 
<body> 
    <div> 
     <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed 
     ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad 
     eleifend option congue nihil imperdiet doming id quod mazim.</p> 
    </div> 
</body> 
</html> 
+0

感謝, 很有幫助。 – QAZ 2010-03-19 10:43:00

1

可以請求info1.html和info2.html時發送的參數。 例如:

$.ajax({ 
       type: "POST", 
       url: "info1.html", 
       data:myParameter=1, 
       success: function(html){ 
        ......... 
       } 
      }); 

然後在info1.html檢查是否存在myParameter如果如果兩個條件都爲真可以顯示的頁面是等於1 。如果條件不符合,您可以使用元標記或使用JavaScript重定向用戶。因此,如果用戶直接在url中輸入info1.html,他將被重定向。爲此,您將需要服務器端技術,如PHP。所以,你會使用info1.php和info2.php

0

我喜歡蓋比的解決辦法,我想補充第三個:

替換您的信息來自XML不是HTML。

,但如果你想保持你不一定需要一個服務器端的技術對網頁訪問重定向HTML, 您可以在Java腳本中使用window.onload事件要做到這一點:

window.onload = function() {window.location.href = 'http://www.google.com';}