这是我的.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?url=$1 [NC,L]
ErrorDocument 100 http://localhost/user/error
ErrorDocument 101 http://localhost/user/error
ErrorDocument 200 http://localhost/user/error
ErrorDocument 201 http://localhost/user/error
ErrorDocument 202 http://localhost/user/error
ErrorDocument 203 http://localhost/user/error
ErrorDocument 204 http://localhost/user/error
ErrorDocument 205 http://localhost/user/error
ErrorDocument 206 http://localhost/user/error
ErrorDocument 300 http://localhost/user/error
ErrorDocument 301 http://localhost/user/error
ErrorDocument 302 http://localhost/user/error
ErrorDocument 303 http://localhost/user/error
ErrorDocument 304 http://localhost/user/error
ErrorDocument 305 http://localhost/user/error
ErrorDocument 307 http://localhost/user/error
ErrorDocument 400 http://localhost/user/error
ErrorDocument 401 http://localhost/user/error
ErrorDocument 402 http://localhost/user/error
ErrorDocument 403 http://localhost/user/error
ErrorDocument 404 http://localhost/user/error
ErrorDocument 405 http://localhost/user/error
ErrorDocument 406 http://localhost/user/error
ErrorDocument 407 http://localhost/user/error
ErrorDocument 408 http://localhost/user/error
ErrorDocument 409 http://localhost/user/error
ErrorDocument 410 http://localhost/user/error
ErrorDocument 411 http://localhost/user/error
ErrorDocument 412 http://localhost/user/error
ErrorDocument 413 http://localhost/user/error
ErrorDocument 414 http://localhost/user/error
ErrorDocument 415 http://localhost/user/error
ErrorDocument 416 http://localhost/user/error
ErrorDocument 417 http://localhost/user/error
ErrorDocument 500 http://localhost/user/error
ErrorDocument 501 http://localhost/user/error
ErrorDocument 502 http://localhost/user/error
ErrorDocument 503 http://localhost/user/error
ErrorDocument 504 http://localhost/user/error
ErrorDocument 505 http://localhost/user/error
如果我输入:http://localhost/usuarios/
一切都很完美,但当我输入http://localhost/usuarios
时会显示错误页面,因为我删除了/
当我删除离开ErrorDocument 404 /error
的绝对路径时,我没有任何错误,问题是我无法识别没有绝对路径的文件error.tpl错误,因为此索引被调用到另一个文件夹。 / p>
问题:
ErrorDocument xxx
http://localhost/user/error
。答案 0 :(得分:1)
我不知道有任何方法可以将一条指令应用于多个状态代码。 This answer也说这是不可能的。
您可以使用the documentation(大胆矿)中显示的本地网址:
ErrorDocument指令的语法是:
ErrorDocument <3-digit-code> <action>
将操作视为:
- 要重定向到的本地网址(如果操作以“/")开头。
- 要重定向到的外部网址(如果操作是有效的网址)。
- 要显示的文本(如果不是上述内容)。如果文本由多个单词组成,则必须用引号(“)括起来。
醇>
还给出了以下示例:
ErrorDocument 500 /cgi-bin/crash-recover
最后,你在评论中提问
仅显示状态4xx和5xx的错误页面或我错了是正确的吗?
这是对的。同一页文档说
可以为指定为错误条件的任何HTTP状态代码定义自定义错误响应 - 即任何4xx或5xx状态。