2010-10-17 18 views
0

我正在製作一個web應用程序,並且正在檢查是否存在配置文件以確定是否運行安裝腳本。但是,由於它是一個Web應用程序,我不知道該腳本將被存儲在什麼URL。元刷新到相對文件

有什麼辦法可以將頁面重定向到一個相對文件,使用PHP或HTML?

在此先感謝!

回答

2

可以重建當前執行腳本的使用「SCRIPT_NAME」變量由mod_php的設置URL。從那裏開始,只需要通過相對路徑操作來構建要重定向到的腳本的絕對URL。

<?php 
$scheme = $_SERVER['HTTPS'] ? 'https' : 'http'; 
$host = $_SERVER['HTTP_HOST']; 
$basedir = dirname($_SERVER['SCRIPT_NAME']); 
header("Location: {$scheme}://{$host}{$basedir}/redirect_target_page.php"); 
0

在PHP中您可以使用header('Location: http://www.example.com/ ');,但它必須與完整網址,而不是相對一個被使用,所以你只需要從相對URL構建完整的URL,並使用header

+0

不真實。其實,我剛剛找到了解決方案,請參閱我的答案。 – esqew 2010-10-17 04:13:21

+0

你也可以在客戶端使用javascript來做到這一點,但是如果你能弄清楚服務器端需要重定向,最好在服務器端做 – vittore 2010-10-17 04:14:22

0

我發現我可以做這樣的:

header('Location: ./install.php')

+2

很多(大多數?)現代瀏覽器正確處理了Location標頭中的相對URI,但它違背了HTTP/1.1規範(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30) – bd808 2010-10-17 04:24:33