您好尊敬的程序員,404錯誤頁面不工作的錯誤的動態網頁
首先,我的網站最近完成,但程序員拒絕給予支持理由,這是合同的組成部分。但是,我只是想解決這個單一的問題,我可以管理這個網站,直到將來升級。
的網站頁面有以下任何一種格式:
http://example.com/index.php?p=course&cid=xx
http://example.com/index.php?service&sid=xx
http://example.com/index.php?p=about-us
等
我有一個404錯誤頁面中的位置:
/include/404.php
,它會顯示爲
http://example.com/index.php?p=404.php
現在,我想設置的404錯誤頁面時顯示一個錯誤的頁面說: http://example.com/index.php?p=about-us2.php
當輸入一個錯誤的頁面,這是會發生什麼吧:
Warning: include(include/about-us2.php): failed to open stream: No such file or directory in /home/hanpan5/public_html/testing/index.php on line 127
Warning: include(include/about-us2.php): failed to open stream: No such file or directory in /home/hanpan5/public_html/testing/index.php on line 127
Warning: include(): Failed opening 'include/about-us2.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/hanpan5/public_html/testing/index.php on line 127
我在前面加了404碼但是,它影響到託管在http://blog.example.com
上的博客上的頁面。當代碼從.htaccess中刪除時,博客頁面再次正常工作。
我也注意到,有一些代碼在index.php文件:
<div class="body">
<?php include('include/menu.php'); ?>
<?php
if(!isset($_GET['p']) && @$_GET['p'] == '')
{
include('include/slider.php'); ?>
<?php include('include/services.php'); ?>
<?php include('include/strategy.php'); ?>
<?php include('include/testimonial.php');
include('include/twitterfeeds.php');
}else
{
$p = $_GET['p'];
include('include/'.$p.'.php');
}
?>
<?php include('include/footer.php'); ?>
</div>
反正是有,我可以添加include('include/404.php');
到,如果上述聲明所述重定向幫助。或者我能做些什麼來解決這個問題?
熱切期待您的幫助。
非常感謝您提前。
/編輯1後** @ DaveG的第一個答案**/ 你好DaveG,這是我目前的執行你的解決方案:
<div class="body">
<?php
include('include/menu.php');
if(isset($_GET['p']))
{
$p = $_GET['p'];
if(!file_exists('include/'.$p.'.php'))
{
header('HTTP/1.0 404 Not Found');
include('include/404.php');
exit();
}
}
else
if(!isset($_GET['p']) && @$_GET['p'] == '')
{
include('include/slider.php'); ?>
<?php include('include/services.php'); ?>
<?php include('include/strategy.php'); ?>
<?php include('include/testimonial.php');
include('include/twitterfeeds.php');
}
else
if(isset($_GET['p']))
{
$p = $_GET['p'];
include('include/'.$p.'.php');
}
?>
<?php include('include/footer.php'); ?>
</div>
只有索引頁(/index.php
)加載完全。
但是,以例如/index.php?p=course&cid=13
和 /index.php?p=abc
結尾的文件未完全加載。僅加載菜單(menu.php
)和頁腳(footer.php
)。
謝謝。
你好@DaveG,請找我上面的編輯。非常感謝您的幫助。 – Ndianabasi 2014-10-22 16:21:11
[編輯後]:問題是你把我的代碼放在錯誤的地方。它應該放置在其他所有內容之前(所以在body-div之前,甚至在所有其他頭部之前)以及'<?php'和'?>'之間。另外,'else'必須在我的代碼後面被刪除!我的代碼是補充的,但其他代碼也應該執行,所以在那裏沒有'else'! – DaveG 2014-10-23 06:32:41
謝謝@DaveG。結果我會回到你身邊。 – Ndianabasi 2014-10-23 06:46:03