ErrorDocument 因任何错误而无法工作。Ubuntu Apache

ErrorDocument 因任何错误而无法工作。Ubuntu Apache

我在使 ErrorDocument 工作时遇到了问题。我已经尝试了大多数表单和帖子上的大部分建议。我唯一知道我有而其他人没有的是 certbot 添加的 RewriteCond。

我以前也这样做过,但那是在旧版本的 ubuntu 上,并且是一个自签名网站。

操作系统:Ubuntu 22.04

当前的配置文件

        ServerAdmin webmaster@localhost
        ServerName leofriclegends.com
        ServerAlias www.LeofricLegends.com www.leofriclegends.com LeofricLegends.com *.LeofricLegends.com *.leofriclegends.com 92.27.77.101
        DocumentRoot /var/www/leofriclegends.com/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ErrorDocument 405 /404.html
        ErrorDocument 500 /WebPageError.html
        ErrorDocument 502 /WebPageError.html
        ErrorDocument 503 /WebPageError.html
        ErrorDocument 504 /WebPageError.html

        <Files "404.html">
                <If "-z %{ENV:REDIRECT_STATUS}">
                        RedirectMatch 404 ^/404.html$
                </If>
        </Files>

        <Files "WebPageError.html">
                <If "-z %{ENV:REDIRECT_STATUS}">
                        RedirectMatch 404 ^/WebPageError.html$
                </If>
        </Files>


        RewriteEngine on
        RewriteCond %{SERVER_NAME} =*.LeofricLegends.com [OR]
        RewriteCond %{SERVER_NAME} =leofriclegends.com [OR]
        RewriteCond %{SERVER_NAME} =www.LeofricLegends.com [OR]
        RewriteCond %{SERVER_NAME} =LeofricLegends.com [OR]
        RewriteCond %{SERVER_NAME} =www.leofriclegends.com [OR]
        RewriteCond %{SERVER_NAME} =92.27.77.101 [OR]
        RewriteCond %{SERVER_NAME} =*.leofriclegends.com
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

apachectl-S:

VirtualHost configuration:
*:443                  leofriclegends.com (/etc/apache2/sites-enabled/leofriclegends.com-le-ssl.conf:2)
*:80                   is a NameVirtualHost
         default server leofriclegendslimitedserver.home (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost leofriclegendslimitedserver.home (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost industrialdimensions.co.uk (/etc/apache2/sites-enabled/industrialdimensions.co.uk.conf:1)
                 alias www.industrialdimensions.co.uk
                 alias www.IndustrialDimensions.co.uk
                 alias IndustrialDimensions.co.uk
                 wild alias *.IndustrialDimensions.co.uk
                 wild alias *.industrialdimensions.co.uk
         port 80 namevhost leofriclegends.com (/etc/apache2/sites-enabled/leofriclegends.com.conf:1)
                 alias www.LeofricLegends.com
                 alias www.leofriclegends.com
                 alias LeofricLegends.com
                 alias 92.27.77.101
                 wild alias *.LeofricLegends.com
                 wild alias *.leofriclegends.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

我看过的网站/教程:

我确信我漏掉了一些明显的东西,或者由于 certbot 我需要额外的步骤。所以任何帮助都会受到欢迎。

谢谢

答案1

在这个问题上花了一个多星期后,我发现问题出在使用 certbot 之后它创建了另一个 .conf 文件。

此文件还需要添加错误代码才能使重定向正常工作。因此,如果其他人遇到此问题,请在您的 sites-enabled/YOUSITESNAME.COM-le-ssl.conf 中查找该文件,并在其中添加错误处理。

相关内容