404 错误被重定向到主页而不是自定义 404 页面
我有一个托管在 Apache 服务器上的网站。我已经创建了一些自定义错误页面,并在我的 .htaccess 文件顶部创建了以下文本:
ErrorDocument 404 404.html
ErrorDocument 500 500.html
ErrorDocument 401 401.html
我也尝试过,
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 401 /401.html
htaccess 文件和自定义页面都位于服务器的根目录中。 问题是,当我输入垃圾网址(我希望看到自定义 404 页面)时,我只是被重定向到我的索引页面。
I have a site hosted on an Apache server. I have created some custom error pages and the following text at the top of my .htaccess file
:
ErrorDocument 404 404.html
ErrorDocument 500 500.html
ErrorDocument 401 401.html
I have also tried,
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 401 /401.html
Both the htaccess file and the custom pages are in the root directory of the server.
The problem is that when I enter a garbage url (where I would expect to see my custom 404 page) I'm simply being redirected to my index page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试您的服务器是否已正确设置为首先解析和处理 .htaccess 文件(即检查
AllowOverride
+AccessFileName
指令是否正确)。例如,写一些你知道会起作用的东西,看看它是否真的被执行了(比如一个荒谬的重写规则)。另外,请查找 httpd 日志文件中是否有错误。如果它确实正确执行,问题可能是您的服务器设置不允许使用 .htaccess 文件进行各种覆盖。然而,你的语法基本上是正确的。
Try if your server is properly set up to parse and process .htaccess files in the first place (i.e., check if
AllowOverride
+AccessFileName
directives are correct). For example, write some stuff in that you know will work and look if it actually gets executed (like a ridiculous rewrite rule). Also, look up your httpd log files for errors.If it does get executed properly, the problem might be that your server is setup not to allow all kinds of overrides with .htaccess files. Your syntax however, is basically correct.