Once enabled, an alias provides a nice clean URL for a path on a site. However Drupal does not remove the old path (eg node/1234). The problem is that you now have two URLs representing the same content. This is dangerous territory for duplicate pages which can get you sandboxed by the search engines!
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
試試這個:
http://drupal.org/project/globalredirect
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
是的是的, 我試試。 謝謝你!
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
試了一下Global Redirect模組, 我說一下我的理解和問題
Global Redirect模組是針對定義了路徑(path)的別名(alias)時的情況, 當它發現有定義了alias時,它就會中斷所有對原來路徑的訪問,而將訪問重定向到這個新的別名
但是對我的情況,需要對所有新建立的內容都跳轉到view/username路徑,但是問題是
1)事先不知道內容的nid, 就不能事先建立alias, 所以每個新的node在建立的時候是沒有alias的
2)view/nusername是一個view列表形式的展示,它和node/nid不是一一對應的關系,也阻礙了建立alias
不知我的理解對不對。
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
使用 PathAuto 模組 可以自動建立別名
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
謝謝建議, 我嘗試了PathAuto 模組, 確實它可以按照自己定義pattern去將內容建立alias. 是一個很好的自動設置alias的模組。
從我的需要來說, 還是有差異。我要一個能禁止訪問原始的內容,也不要通過alias去訪問它們。而是通過定義的view去訪問它們。
我還沒有找到好辦法去解決這個問題。
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
看來global redirect可以達到吧
--
from open mind to open source~
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
嗯,不過我看不懂你的 view/nusername 到底是啥? 不是單一 node、而是用 views 做出來的頁面嗎?
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
對對, view/username 是用 views 做出來的頁面
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
那你的網站裡就不要出現 node/xxx 的連結摟...
不過還是不懂你的網站的架構方式XD
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
謝謝 jimmy 和 charlesc
alias只是名稱的改變和替代,它和原始的頁面是相同的,並不是顯示方法和格式的改變。
global redirect只是達到也一個名稱代替了另一個,當用原來的路徑去訪問時global redirect將它自動跳轉到新的名稱(alias)顯示方式沒有改變。
我的用戶輸入內容都是很短的,但是項目很多,而且每天上傳的內容項目是相同的,我就用view做了一個表,每天一行(就像數據庫表中的一個記錄)這樣排列整齊也便于比較
所以我希望能禁止通過node/nid訪問, 只能通過view/username這個整齊的排列方式來顯示許多天用戶上傳的資訊的一個列表
Re:
那改 node.tpl.php
if ($page){
GLOBAL $user;
drupal_goto('view/'.$user->name);
}
強迫整頁顯示的時候 跳到 view/user name 的路徑去
不知道這樣能不能達成你想要的效果
Re:
謝謝hom, 謝謝 jimmy 和 charlesc
這正是我想要的效果直接的跳轉到view頁面,隱藏node/nid.
我甚至想在 modules/cck/content.module中加語句。
還是 hom 建議的在node.tpl.php添加是更好的辦法。
我又進了一大步。
Re: 如何只讓用戶訪問 view/username, 禁止訪問 node/number
其實如果會寫程式與模組的話
自己寫一個簡單的模組去 hook nodeapi 可以更直接的達成這些功能
在進入版型檔案的處理之前就轉向
省下處理用不到的版型資料的時間