2010-10-19 58 views
0

如何重命名drupal的管理員目錄,因爲我已經擁有一個名爲「admin」的目錄?Drupal管理

回答

3

你不能。只是因爲管理員目錄不存在。它只是一個url路徑(在所有模塊中定義,在hook_menu中有它的引用)

我現在唯一的解決方案是實現hook_menu_alter並重定向以admin /別的地方開頭的所有菜單,但我可以不要說它會100%工作。

5

正如Bleadedu所指出的那樣,Drupal在它的URL中沒有「目錄」。

你看到的網址都是所謂的「乾淨的URL」,Apache中的一記漂亮的把戲(Web服務器) 配置來實現的。您可以disable clean urls這將解決您的問題,但可能不是一個選項,如果您出於某種原因依賴此功能。

另一種選擇是use path module來規避這個問題。這也有缺點,最值得注意的是,您需要用admin手動更改每個網址。

最後一個選項是更改rewrite rules in Apache。這很難實現,並需要一些mod_rewrite的知識。

+0

並非真正確切的信息 - 大部分'admin'URL都是* not *乾淨的URL,但實際的內部Drupal路徑(在'hook_menu'實現中定義,如Bladedu所述)。因此,禁用乾淨的URL將*不會*解決問題,因爲大多數'admin/...'URL將保持不變。 – 2010-10-19 20:20:55

+1

亨裏克,我認爲你正在混合路徑別名和乾淨的網址。正如berkes所言,禁用乾淨的URL只意味着URL?中會出現'?q ='。我認爲這是可行的,因爲它允許服務器在example.com/admin(目錄)和example.com/?q=admin(drupal頁面)之間做出區別。 – marcvangend 2010-10-19 20:28:23

+0

正如marcvangend指出的:禁用乾淨的網址會帶回?q = admin網址。那麼Apache將不再混淆/ admin(一個目錄)和?q = admin(URL上的一個參數) – berkes 2010-10-20 12:59:39

0

而不是改變/ admin的路徑,你應該加強其他地方的安全。

首先,找出您的網站使用Drupal是一塊蛋糕。
巨大的公司使用Drupal,並且不改變他們的/管理路徑。

不要使用用戶1.大多數時候,沒有必要對使用用戶1人即使是最高管理員應給予一定的作用,而某些權限。用戶1應該有一個複雜的長密碼,每(x)天或小時數更改一次,但從未實際使用過。我認爲這也有一個模塊,但我不記得我的頭頂,因爲我只是以編程方式執行此操作。

logintoboggan.module 的登錄雪橇模塊將顯示登錄表單的訪問被拒絕login_security.module

protect_critical_users.module

userprotect.module

session_limit.module

nodeaccess.module

不要讓直接訪問update.php和cron.php。創建一個通過shell運行的cronjob。 -have他們直接禁止/或404與搜索頁面

使用cpanel/whm或類似的工具。淘汰糟糕的登錄嘗試等等。

有一噸的其他方式在Drupal來加強安全性。

+0

關於如何保護Drupal有一些很好的信息,但實際上並不合適。問題是如何避免/ admin(Drupal的URL)與目錄/ admin的衝突,tat可能會被某些服務器系統添加。 – berkes 2010-10-20 13:01:14

0

不知何故,我忘了,你說:「我已經有一個名爲‘admin’的。哎呀。

我認爲你會明智地改變其他的,而不是直接改變它,把它放在另一個目錄中,或者根本不使用它。

這只是非常混亂。你將不得不看看每一個模塊,看看是否需要調整。

關閉我的頭頂,user.module將需要被改變,並且看看http://api.drupal.org/api/search/6/url_rewrite

custom_url_rewrite_outbound和custom_url_rewrite_inbound會起作用,但是您仍然可以通過手動輸入來訪問/ admin。如果您在根目錄中粘貼「admin」文件夾,您將會受到禁止。

總而言之,我認爲這將是一個混亂的冒險,你可能會得到很多破碎的更新。直到核心提供這樣的東西,我不會這樣做。即使有一個模塊可以,我也不會使用它。

*您將不得不「駭客核心」,我認爲這不合理黑客攻擊核心。