这是我的服务器结构:
folder_in_root
another_folder/not_root_here
another_folder/nested_script.php
index.php #in root
one_script_in_root.php #in root
我在 ALL 服务器的脚本中运行以下函数,无论是否在root中:
function notify(){
(...)
if ( !(strpos($_SERVER['SCRIPT_NAME'], 'index.php')) && ($feedback["connect_time"] == 0 || $feedback["http_code"] == 404)){
exit("<meta http-equiv='refresh' content='0' ;url='../index.php'>");
}
}
如果页面在index.php内部,这个函数不会刷新页面,这是好的,如果不在index.php WHEN 里面,则转到index.php,原始脚本是 NOT 在root上。因此,此脚本适用于another_folder/not_root_here
,another_folder/not_root_here
,index.php
但<{1}}中的 FAILS ,因为它会一遍又一遍地刷新one_script_in_root.php
再次而不是将用户发送到one_script_in_root.php
。我无法弄清楚为什么会这样。有谁可以帮助我吗? tyvm。
答案 0 :(得分:2)
此元刷新语法错误
<meta http-equiv="refresh" content="0; URL=../index.php">
是正确的
答案 1 :(得分:0)
最好的解决方案是将index.php替换为您的domainname / ip。这使得该函数可以在您调用它的任何目录上运行。
<meta http-equiv="refresh" content="0; URL=\\www.mydomain.com">