嗨,我是新來的網站。我有一個文檔根目錄:home/user/public_html/www.example.com/public,我的所有靜態文件都應該公開顯示。但其中許多文件包括config.php。這些config.php文件具有用戶名和密碼,因此將它們放在公用文件夾中似乎不太合適。在設置網站/應用程序時,我在什麼目錄下放置我的mysql config.php文件?
這些文件應該放在哪裏?
如果我將配置移動到不同的目錄(我試過),那麼靜態文件不能再找到配置文件。我會指向新的位置嗎?
嗨,我是新來的網站。我有一個文檔根目錄:home/user/public_html/www.example.com/public,我的所有靜態文件都應該公開顯示。但其中許多文件包括config.php。這些config.php文件具有用戶名和密碼,因此將它們放在公用文件夾中似乎不太合適。在設置網站/應用程序時,我在什麼目錄下放置我的mysql config.php文件?
這些文件應該放在哪裏?
如果我將配置移動到不同的目錄(我試過),那麼靜態文件不能再找到配置文件。我會指向新的位置嗎?
是的,你需要改變config.php相對於靜態文件的位置。如果我理解正確,默認情況下它們都在同一個目錄中,所以如果您想將它們移動到新文件夾中,則必須有include 'config.php';
,假設文件夾的名稱已隱藏,則必須將其更改爲:
include 'hidden/config.php';
最後,如果你決定將一個目錄,則必須使用include '../config.php';
您可以詳細介紹一下相對路徑在這裏閱讀: Absolute vs relative links
好,WordPress的,比較流行的,規模最大的平臺,在那裏一個只是把一個wp-config.php文件到文件根目錄,所以如果是爲了他們足夠好,你可以說這是配不上你:)
您當然可以將config.php文件從您的實際文檔根目錄上升1級。如果給出正確的路徑,PHP仍然可以訪問它。
E.g. http://codex.wordpress.org/Hardening_WordPress#Securing_wp-config.php
每個包含config.php的文件都需要使用正確的路徑引用它。如果你只是在config.php文件存儲在根,你可以改變所有的包括使用
include_once($_SERVER['DOCUMENT_ROOT'] . '/config.php');
這將工作不管,包括文件的位置。
謝謝你的提示!另一個問題。如果我有一個login.php文件,應該在公用文件夾中還是說一個文件夾? – tjones
您可以將邏輯腳本保存在您的Web文件夾中,設置是人們通常移動到Web根目錄以外的唯一東西。 – PorridgeBear
感謝您的回答!另一個問題。如果我有一個login.php文件,應該在公用文件夾中還是說一個文件夾? – tjones
對不起,我遲到了幾天。由於PorridgeBear回答login.php應該是公共文件夾,因爲如果我需要登錄到您的網站,我需要訪問該頁面。外部世界無法訪問上面public_html文件夾中的所有文件。 – Ajit