Solve DirectAdmin issues

  1. Since version 1.57.0: The ‘Force Redirect’ to add or omit www, needs a change to work until after security headers.
    The old choice can be correctly included in this way:
    – None (default) / Plus www / No www;
    – Early rewrite (old) / Late 301 redirect / Late 302 redirect;
    For the long-standing redirects functionality placed at the bottom of .htaccess, consider putting them after httpd.
    Workaround: Force Redirect ‘none’. In the redirects functionality www. redirects to with no www.
    Current explanation by DirectAdmin:
  2. The creation key type EC384 for Let’s Encrypt created manually, can get renewed after 60-90 days with outdated RSA4096.
    Solution: A reported problem at requires automatic renewal without this file from the past:;
    Note: Field label ‘Key Size (bits)’ could better be ‘Key Type’.
  3. CustomBuild is no longer visible in the menu, because the plugin got integrated:
    I tried to test with updated components this way:
    cd /usr/local/directadmin/custombuild
    ./build update_versions

Defect reproduction text issue no. 1: rewrites to

Security headers, such as HSTS, are required to work with the first domain name over HTTPS. So the rewriting called “Force Redirect” combined with the early rewriting to HTTPS has to be built in differently.


Please redesign the order; I think many scenarios are catched this way:
step 1. rewrite from HTTP to HTTPS by GUI DirectAdmin (works before reaching .htaccess)
step 2a. reading security headers in .htaccess, if .htaccess is read
step 2b. reading security headers on webserver / httpd level
step 2c. applying security headers via public_html
step 3. redirect (301/302) by GUI DirectAdmin to add or omit www
such as from <?php header(“Location:”); exit; ?>

– Own code is unnecessary if GUI DirectAdmin guarantees to do the same;
– ‘Note that we consider HTTPS as a requirement for these security options.’.
Can be textual: ‘Security headers are required to work with the first domain name over HTTPS.’;
– Redirection in index.php can function to a folder ‘Common’ as follows:

echo ‘<!DOCTYPE html> ……….’;

function redirect($url) {
if (!headers_sent()) {
header(‘Location: ‘.$url);
else {
echo ‘<script type=”text/javascript”>’;
echo ‘window.location.href=”‘.$url.'”;’;
echo ‘</script>’;
echo ‘<noscript>’;
echo ‘<meta http-equiv=”refresh” content=”0;url=’.$url.'” />’;
echo ‘</noscript>’; exit;