找不到页面/文件夹时,重定向到/显示根目录中的404页面

时间:2012-01-09 01:53:02

标签: php .htaccess

请考虑我网站的以下结构:

www.mydomain.com /

www.mydomain.com/index.php

www.mydomain.com/404.php

www.mydomain.com/css

www.mydomain.com/blog /

在以下情况下,如何显示我的根目录中存在的404.php页面及其stylinf和css:

  1. 当用户尝试访问不存在的文件夹和/或其内容时? 示例:www.mydomain.com/nofolder

  2. 当用户尝试访问嵌套的不存在的文件夹时? 示例:www.mydomain.com/nofolder1/nofolder2/nofolder3 /

  3. 当用户尝试访问不存在的文件嵌套的不存在的文件夹时? 示例:www.mydomain.com/nofolder1/nofolder2/index.php

  4. 我已经有一个.htaccess文件,当我网站的根文件夹中存在一个不存在的页面时,该文件会显示404页面。我目前的.htaccess文件:

    ErrorDocument 404  /404.php
    

    上面的代码显示了访问不存在的文件夹(例如:www.mydomain.com/nofolder)时我的404.php页面的CSS剥离版本。我需要完整地显示所有CSS和样式。为了用户友好,我认为最好保留原样输入的URL,但仍然显示404页面。怎么办呢?

    编辑1:

    我需要在不使用CSS的绝对链接的情况下显示它。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

  

上面的代码显示了我的404.php的CSS剥离版本

您必须使用CSS链接的绝对路径。而不是:

<link rel="stylesheet" type="text/css" href="css" />

使用它:

<link rel="stylesheet" type="text/css" href="/css" />

答案 1 :(得分:0)

因为错误404页面必须能够从我的404.php仅包含的任何URL中运行

<?php
header("Location: http:/homepage.de");
?>

通过这种方式,它可以重新定位到基本URL。