2012-02-26 123 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