【问题标题】:Regrouping errorDocument status codes into one - Possible?将 errorDocument 状态代码重新组合为一个 - 可能吗?
【发布时间】:2021-09-10 17:17:07
【问题描述】:

我想将我的 htaccess errorDocument 部分简化为一行,可以吗?在网上找不到任何关于此的文档。提前致谢!

实际htaccess:

ErrorDocument 400 /errors.php?error=400
ErrorDocument 401 /errors.php?error=401
ErrorDocument 402 /errors.php?error=402
ErrorDocument 403 /errors.php?error=403
ErrorDocument 404 /errors.php?error=404
ErrorDocument 405 /errors.php?error=405
ErrorDocument 406 /errors.php?error=406
ErrorDocument 407 /errors.php?error=407
ErrorDocument 408 /errors.php?error=408
ErrorDocument 409 /errors.php?error=409
ErrorDocument 410 /errors.php?error=410
ErrorDocument 411 /errors.php?error=411
ErrorDocument 412 /errors.php?error=412
ErrorDocument 413 /errors.php?error=413
ErrorDocument 414 /errors.php?error=414
ErrorDocument 415 /errors.php?error=415
ErrorDocument 416 /errors.php?error=416
ErrorDocument 417 /errors.php?error=417
ErrorDocument 418 /errors.php?error=418
ErrorDocument 421 /errors.php?error=421
ErrorDocument 422 /errors.php?error=422
ErrorDocument 423 /errors.php?error=423
ErrorDocument 424 /errors.php?error=424
ErrorDocument 425 /errors.php?error=425
ErrorDocument 426 /errors.php?error=426
ErrorDocument 428 /errors.php?error=428
ErrorDocument 429 /errors.php?error=429
ErrorDocument 431 /errors.php?error=431
ErrorDocument 451 /errors.php?error=451

ErrorDocument 500 /errors.php?error=500
ErrorDocument 501 /errors.php?error=501
ErrorDocument 502 /errors.php?error=502
ErrorDocument 503 /errors.php?error=503
ErrorDocument 504 /errors.php?error=504
ErrorDocument 505 /errors.php?error=505
ErrorDocument 506 /errors.php?error=506
ErrorDocument 507 /errors.php?error=507
ErrorDocument 508 /errors.php?error=508
ErrorDocument 510 /errors.php?error=510
ErrorDocument 511 /errors.php?error=511

【问题讨论】:

    标签: php apache .htaccess


    【解决方案1】:

    但是,您需要为每个错误代码设置一个单独的指令:

    • 您不需要捕获所有这些错误状态,因为其中大多数都不会触发您的脚本,因为它们中的大多数在处理.htaccess 之前触发得太早(运行您的ErrorDocument 指令)。

    • 您不需要以error URL 参数的形式显式传递错误代码,因为此错误代码已经以$_SERVER['REDIRECT_STATUS'] 超全局的形式提供给您的PHP 脚本。

      所以,以下就足够了:

      ErrorDocument 404 /errors.php
      

      然后引用$_SERVER['REDIRECT_STATUS'] 获取响应码,例如。在这种情况下为“404”。

    【讨论】:

    • 完全同意,我在发布我的问题后才意识到这一点。遗憾的是我们仍然无法将不同的错误状态代码重新组合在一起,但至少我们仍然可以做到。谢谢你的意见!!!
    【解决方案2】:

    不可能。

    您应该处理每个错误代码。没有选择使用正则表达式或类似的东西来管理它。

    【讨论】:

      猜你喜欢
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多