2012-02-26 122 views
0

我試圖使用PHP頭功能,像這樣將用戶重定向到一個不同的頁面,但它不工作:如何使用標題中的自定義路徑在PHP中重定向?

Header("Location: " . VIEW_PATH. "/somePage.html"); 

VIEW_PATH在我的config.php文件定義是這樣的: 定義(「VIEW_PATH ',DIR。「\ View」);

標題功能目前在我的「控制器文件夾」中的Auth Class中,我嘗試將用戶重定向到View文件夾中的一個頁面。

這個工程,但我想利用VIEW_PATH: 標題(「位置:../View/somePage.html」);

+0

不知道你的意思。你不是在使用'VIEW_PATH'嗎? – 2012-02-26 20:29:48

+0

它不起作用:( – user1219572 2012-02-26 20:35:52

+0

當您輸出它時,'VIEW_PATH'包含什麼?'echo VIEW_PATH;' – 2012-02-26 20:37:37

回答

0

正如我所見,您的VIEW_PATH常量包含服務器上的物理路徑。但是你應該使用url路徑在頭文件中調用。

看看這個例子。

define('VIEW_PATH', 'C:\xampp\htdocs\Store\View'); 
define('VIEW_URL', 'http://www.example.com/Store/View'); 
// or define('VIEW_URL', '/Store/View'); 

P.S. 你也應該使用/在你的網址,而不是\

+0

謝謝, 我該如何去定義一個相對的URL路徑或某種? 我想我將不得不用$ _SERVER ['DOCUMENT_ROOT']找到根目錄,但我讀過最好不要使用它,因爲結果因不同的平臺而異。 那麼我應該用什麼來代替$ _SERVER ['DOCUMENT_ROOT']? – user1219572 2012-02-26 23:07:44

+0

我想你最好在你的配置文件中定義VIEW_URL常量並使用這個常量。您必須知道您的文檔根目錄在哪裏,它的值在更改Web服務器配置之前不會更改。在大多數情況下,document_root調用'public_html'或'httpdocs'。 如果你需要在飛行中定義你的常量,你可以嘗試這個技巧(但建議簡單地定義常量): 1)將文件放入根目錄,確定它的目錄名稱:$ dir = dirname(__ FILE__); 2)不要這樣做$ view_url = str_replace($ dir,'',VIEW_PATH); 3)用\替換\:$ view_url = str_replace('\\','/',$ view_url) – hadvig 2012-02-27 09:53:03