问题标签 [errordocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 尝试在错误文档页面中使用 php 包含,但它在不同的目录中不起作用
我想我发现当我有一个 errordocument 自定义错误页面时,include 并不总是有效,因为 include 需要一个目录并且有错误的页面可能在不同的目录中。
directory1/directory2/thispagecausesa404error.php
directory1/thispagecausesa404error.php
如果我include includepage.php;
的错误文档页面中有,那么它将不起作用。
我决定添加include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php';
到错误文档页面,这解决了问题,但我怀疑我做错了什么,或者没有看到正确的方法来在错误页面上完美包含。
我究竟做错了什么?
php - 获取请求的页面
有什么方法.htaccess
可以发送到404 page
请求的页面?
所以换句话说,假设我正在请求一个不存在的页面,例如:
去
这是我当前的 .htaccess 行,所以它转到 404.html
我想知道要添加什么以获得这样的结果:
代替 :
.htaccess - 将输入的 URL 作为带有 .htaccess 的错误文档的查询字符串传递
对于我的错误文档,我使用的是单个错误页面 (error.html),我将其重定向到使用
这很好用,我对每个 4xx 和 5xx 错误代码都做同样的事情,'error=xxx' 查询字符串实际上定义了页面的外观(根据遇到的错误显示的文本)。
我还需要捕获在 ErrorDocument 重定向发生之前输入的 URL,并将其作为另一个查询字符串附加到 ErrorDocument 位置
我能做到吗?我知道我在某处读到过使用 PHP 是可能的,但我正在为这个网站避免使用 PHP(当我尝试时它实际上并没有按预期工作)。
我看过类似的问题,但找不到对我有帮助的问题。
php - 动态 .htaccess 404
目前,我们大约一半的网页源自我们的HTML_page.php。
我想添加一个<div class="Error404">
标签,404 div,在那里显示 404 错误信息。
如果非HTML_page.php网页触发 404 错误,我无法使用404 div显示错误消息。
更新:非 HTML_page.php 将是我们尚未从我们的“HTML_page.php”基类和链接到我们域中可能不存在的项目的所有外部网站继承的任何旧的遗留页面。
因此,默认结构仍然需要将 404 路由到我们的404.php
页面,但是如果我可以检测到网页包含我的404 div ,请修改路由。
这是我们的.htaccess
页面现在开始的方式:
这个jQuery 的 hasClass片段说明了我想要的逻辑:
有没有办法将这种类型的逻辑构建到ErrorDocument的.htaccess文件中?
.htaccess - 使用 Joomla,htaccess 不会将没有扩展名的页面转发到正确的 404 页面?
在 LTCperformance.com,我创建了一个自定义 404 页面。如果用户输入 ltcperformance.com/fakepage.html,它会转发到 404 页面。但如果没有扩展名 (ltcperformance.com/fakepage),它只会显示默认的系统 404 页面。
我正在使用 htaccess 控制 404 页面:
我在 Joomla Administrator 中有 URL 重写 = on 另外,在 Joomla Administrator 中,将后缀添加到 URL = off
有任何想法吗?我已经浏览了在其他帖子上可以找到的所有答案,如果文件上没有扩展名,则不会显示我的自定义 404 页面。
附加信息:当我执行这些设置时,任何不存在的页面都会转到主页:-搜索引擎友好 URL/否-使用 URL 重写/是-向 URL 添加后缀/否
我有人在服务器端查看它,但我不知道它是什么服务器问题 - 网上的每个人都说这是一个服务器问题,但支持人员无法确定实际的服务器问题是什么。是老爹;我确实将他们的 404 页面设置(他们有一个单独的放置位置)设置为我的 404 页面,但这也不起作用。
php - 重定向而不是 404 错误页面 - 状态代码不起作用(Nginx)
我目前正在迁移到 nginx 服务器。我试着把它放在我的 404 ErrorDocument 中,名为404.php
:
如果我现在尝试访问http://mydomain.com/404.php
,这将按预期工作:它将我重定向到 Google。但是,一旦我尝试访问http://mydomain.com/iDoNotExist
,就会显示 404 ErrorDocument,而不会将我重定向到 Google。
这种行为对我来说似乎很奇怪。有什么办法可以解决这个问题吗?
编辑:
这是卷曲页面给我的东西:
curl -I mydomain.com/404.php
curl -I mydomain.com/iDoNotExist
编辑2:
正如 hakre 所问,我来自Apache设置,是的,我正在使用Chromium。至于 Apache,它曾经适用于所有 Gecko 和 Webkit 浏览器,甚至是 Lynx 等基于控制台的浏览器。它可能也适用于 Internet Explorer,但我从未尝试过(这里没有 Windows,唷)。
.htaccess - .htaccess; 浏览器缓存错误重定向
对于我们的开发服务器,我有一个界面,人们可以将他们的 IP 临时添加到允许的 IP 列表中。如果有人试图从不在列表中的 IP 访问 url,它会被重定向到 IP 添加接口。但是一旦添加了 IP,请求的原始 url 仍然会重定向到接口(浏览器缓存了重定向,这让我们的客户感到困惑)。
重定向是通过指定一个 ErrorDocument 来完成的。我可以强制取消缓存吗?
我在根目录中的 .htaccess:
编辑:接受的答案似乎首先有效,但在某些情况下由于某种原因它没有。最好的解决方案是在每次有人被重定向到错误页面时更改 .htaccess。(打开 .htaccess,将注释行更改为 #random_string(例如 unix 时间))这会使浏览器重新检查 .htaccess
php - 404 错误文档的安全性
我正在处理我的 404 错误文档,我在考虑的不仅仅是提供站点地图,还可以根据服务器上实际存在的内容向用户建议他可能正在寻找的网站。
示例:如果用户输入“www.example.com/foldr/site.html”,404页面可能会输出:
您的意思是“www.example.com/folder/site.html”吗?
为此,我编写了以下代码,非常适合我。我现在的问题是:使用它是否“安全”?因为基本上有人可以通过尝试各种组合来检测服务器上的所有文件。或者,黑客甚至可以使用循环遍历并列出所有类型的有效 URL 的脚本。
我应该限制这个脚本可以检测和建议的目录吗?使用一组“OK”位置,还是按文件类型?
有没有其他人已经有了这样的想法?
PHP:
apache - Apache RedirectMatch、ErrorDocument .etc 不适用于异常查询字符串
www.mysite.com/something.do?name=%25'%20and%201=1%20--
此 url 包含用于安全测试的异常查询字符串。
Apache 显示其默认错误页面:400 Bad Request
.
但我需要显示我自己的错误页面。
我尝试了几件事,但都失败了,一直显示 apache 默认错误。
1.
错误文档 400 /myErrorPage
2.
重定向匹配 --$ /myErrorPage
3.
RewriteEngine On
RewriteRule --$ /myErrorPage
4
重写引擎开启
重写条件 %{THE_REQUEST} --$
重写规则 ^(.*)$ /myErrorPage
我的 apache 版本是 : Server version: Apache/2.2.12 (Linux/SUSE)
。
我该如何处理这个不寻常的请求网址?
.htaccess - htaccess 中的 ErrorDocument 不起作用
如果发生任何内部服务器错误,我正在尝试实现默认错误页面。我浏览了许多关于此的文章和问题。但我无法获得自定义错误页面。
我的 .htacess 文件:
正如提到的其他问题,我检查了 mod rewrite 并且它可以将非 www 移动到 www 。您可以看到上面的重写规则。
但errordoument
不工作。我也试图放置error document
在不同的地方我放errordoument
错地方了吗?
我指的是这个文件。