【问题标题】:Parent.Location not working within php statementParent.Location 在 php 语句中不起作用
【发布时间】:2014-07-17 21:04:40
【问题描述】:

我最近不得不为其迁移服务器的一个站点有一个奇怪的问题。它在那里工作正常(在旧服务器上)

该网站有一个用 Flash (swf) 制作的菜单,点击后会显示诸如 www.domain.com/index.php?pag=projectswww.domain.com/index.php?pag=about 等 URL。但是,页面仍然停留在 index.php(主页)上

index.php 中有如下查询语句

<?php 
if($page=='about'){
    echo "<script language='javascript'>parent.location='about.php' ;</script>"; die();
}
elseif($page=='projects'){
    echo "<script language='javascript'>parent.location='projects.php' ;</script>"; die();
}

而htaccess文件如下

#Force www: 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^website.com 
RewriteRule ^(.*)$ http://www.website.com/$1 [L,R=301,NC] 

缺少什么来阻止它重定向到上述 php 文件?

我无权访问源 Flash 文件。 任何帮助都会很棒。

TIA :)

【问题讨论】:

  • $page 是从哪里来的?如果您打印 $page,您是否看到任何指定的值(关于、项目)?
  • 谢谢 Dayron,会调查的。想知道当每个链接页面都是静态文件时,为什么静态 swf 菜单如此复杂! :)
  • 您的.htaccess 似乎与问题完全无关。即使执行该规则,它也会重定向并附加原始查询字符串。

标签: javascript php .htaccess flash if-statement


【解决方案1】:

我怀疑旧服务器启用了注册全局变量,因此 URL 中的参数页面可以直接调用 $page.将每个 $page 替换为 $_GET['page']。

【讨论】:

  • 哇!非常感谢Dayron......我完全没有考虑过这种可能性。使用register_globals = on 创建了一个 php.ini,它可以按需要工作。干杯:)
【解决方案2】:

试试这个

<?php 
if($page=='about'){
  echo "<script language='javascript'>window.location.href='about.php' ;</script>"; 
   die();
}
elseif($page=='projects'){
 echo "<script language='javascript'>window.location.href='projects.php' ;</script>";
   die();
}

【讨论】:

  • 嘿,谢谢 Sourav,但是,这行不通。不确定缺少什么。还没有运气。还有什么?
猜你喜欢
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多