Apache的自定义404错误问题

Mal*_*chi 24 apache xampp .htaccess

我正在尝试为我的网站创建自定义404错误.我正在使用Windows上的XAMPP对此进行测试.

我的目录结构如下:

error\404page.html
index.php
.htaccess
Run Code Online (Sandbox Code Playgroud)

我的.htaccess文件的内容是:

ErrorDocument 404 error\404page.html
Run Code Online (Sandbox Code Playgroud)

这会产生以下结果:

alt text http://i38.tinypic.com/24qk0fk.jpg

但是这不起作用 - 是否与斜杠的方式或我应该如何引用错误文档有关?

站点站点文档驻留在Web根目录的子文件夹中,如果这对我应该如何引用有什么影响?

先谢谢你.

当我更改文件时

ErrorDocument 404 /error/404page.html
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息,这不是我已链接的html文件中的内容 - 但它与上面列出的内容不同:

alt text http://i32.tinypic.com/kci5b7.jpg

Tim*_*one 59

ErrorDocument当提供本地URL路径时,该指令要求路径完全限定DocumentRoot.在您的情况下,这意味着实际的路径ErrorDocument

ErrorDocument 404 /JinPortfolio/error/404page.html
Run Code Online (Sandbox Code Playgroud)

当您在第二次尝试中更正它时,您看到该页面的原因是因为http://localhost/error/404page.html不存在,因此在查找错误处理文档时出现404错误.


Tee*_*kin 12

由于性能问题,最近在Apache中默认禁用.htaccess文件.启用.htaccess文件后,Web服务器必须在其所在的每个子目录中的每次命中时检查它.

刚认为重要的是要注意.如果你想打开.htaccess文件,这里有一个解释它的链接:

http://www.tildemark.com/enable-htaccess-on-apache/


Kur*_*den 5

您可以将它们添加到任何虚拟主机文件中,而不是将它们添加到您的 .htaccess 文件中。

<VirtualHost *:80>

    DocumentRoot /var/www/mywebsite

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ErrorDocument 404 /error-pages/404.html
    ErrorDocument 500 /error-pages/500.html
    ErrorDocument 503 /error-pages/503.html
    ErrorDocument 504 /error-pages/504.html

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

error-pages文件夹中的子文件夹在哪里mywebsite,包含自定义错误页面。确保重新启动 apache 以查看更改。

$sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)