2011-11-10 31 views
0

当人们访问我的主页,的index.php,我希望他们被重定向到index.php PAGE_ID = 2与重定向代码的问题

要做到这一点,我添加的头一个简单的HTML代码?

<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.domain.com/index.php?page_id=2"> 

问题是,我的网站的目的地和所有其他页面运行该代码它进行循环。我正在使用Wordpress。有没有任何解决方案来引导他们index.php?page_id = 2访问index.php没有它循环?

任何援助将不胜感激。

回答

0

为了避免无限循环,只需检查$ _GET变量是否为空。如果是这样,做一个重定向:

if (empty($_GET)) 
{ 
    header('Location: index.php?page_id=2'); 
} 
+0

我刚试过这个,没有工作。你确定你写得对吗?我在脚本的顶部添加了它... – user1005204

+0

我收到了一个“警告:无法修改标题信息 - 标题已经发送了”错误... – user1005204

+0

这应该是PHP打开之后的第一件事情<?php 我没有不要用Wordpress测试它,只需使用普通的PHP文件。 如果您以前包含其他文件,那可能是“头文件已发送”错误的原因。 –

0

基本上,当index.php在其查询字符串上有参数(如page_id)时,需要确保没有插入“元刷新”。

如果你只是这样做是在PHP,你会写一个if语句使用$ _GET哈希表,检查查询字符串的内容,即,如果$ _GET [ “PAGE_ID”] ...

http://www.php.net/manual/en/reserved.variables.get.php

在wordpress(我不太了解)中,你可能会发现完全不同的解决方案就是你想要的。例如,元刷新实际上被认为不如所谓的HTTP重定向 - 具有相同效果的头部。

在PHP中,它是:

http://php.net/manual/en/function.http-redirect.php

我注意到WordPress的文档包含引用重定向实用程序;我试图提供链接,但StackOverflow阻止我再次包含。在他们的文档中搜索“重定向”可能会有所帮助。

通常,我希望看到一个if语句来决定是否使用PHP的机制或Wordpress发出重定向。

我希望这是有帮助的。

+0

优秀的答复大卫。你能否向我提供IF php代码以实现重定向?我没有PHP的经验,只有我害怕的HTML。 – user1005204