【问题标题】:htaccess not redirecting to custom 404 pagehtaccess 未重定向到自定义 404 页面
【发布时间】:2016-11-21 02:00:23
【问题描述】:

我有一个名为 404page.php 的自定义 404 页面,并且我有一个 htaccess 文件,其中包含我发现应该可以使用的行(这是我在 .htaccess 文件中的唯一行)

ErrorDocument 404 /404page.php

昨天运行良好,但今天我正在优化网站上的图像和其他一些东西,当我重新上传它时,htaccess 不再重定向到 404page.php,而是重定向到一个这样的页面:

找不到

在此服务器上找不到请求的 URL /asfsdtg。

此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。

(我只是输入 asfsdtg 来测试它是否工作)。

网站是在线上传的,我通过cpanel管理它(我还是个初学者)。我搜索了一些解决方案,我尝试在 .htaccess 中添加另一行,然后它看起来像这样:

RewriteEngine on
ErrorDocument 404 /404page.php

我什至尝试将 404page.php 的位置作为本地链接和互联网链接,它仍然给了我奇怪的错误页面。

有人知道发生了什么吗?如果您需要更多我没有提供的信息,请告诉我我还能提供什么

【问题讨论】:

标签: php .htaccess


【解决方案1】:

试试这个:

RewriteEngine on
ErrorDocument 404   http://yoursitename.com/404page.php

并确保404page.php 存在于您服务器的根目录中,并且真正称为404page.php 而不是404Page.php

注意字符,这是按键敏感的!

【讨论】:

  • 也尝试断开与服务器的连接并重新连接以尝试此步骤!建议使用 filezilla 或其他 ftp 客户端来编辑服务器上的文件!
  • 天哪...我仔细查看了文件名,htacces 文件被命名为“htaccess”,而不是“.htaccess”...我很惭愧,对不起各位,感谢您的宝贵时间
  • ErrorDocument 是核心的一部分,而不是 mod_rewrite,所以 RewriteEngine on 指令在这种情况下不会做任何事情。
【解决方案2】:

试试这样:

RewriteEngine on
ErrorDocument 404   http://www.sitename.com/404.php

【讨论】:

  • 还是一样的:(
【解决方案3】:

处理任何 404 错误。

ErrorDocument 404 /404page.php

如果上述设置不起作用,您必须编写附加代码行,如下所述。 识别不存在的文件和目录并重定向到 404。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ - [R=404,L]

【讨论】:

    猜你喜欢
    • 2018-04-18
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    相关资源
    最近更新 更多