Suspending accounts on cPanel

I done some tests with suspending accounts at cPanel server. I found 3 bugs/differences:
1. I created a test account with domain lsws.domain.com.
2. I created by FTP:
public_html/sub/ - directory
public_html/sub/.htaccess - empty file
public_html/sub/script.php - empty file
3. I created a subdomain in cPanel (sub.lsws.domain.com).
4. I suspended the account in cPanel.

The bugs were at:
1. http://sub.lsws.domain.com/ - there was no redirect to suspended page until lsws restart or change in public_html/sub/.htaccess
2. http://lsws.domain.com/sub/script.php - there was 403 error (should be redirect to suspended page) (the line "Options -Includes -Indexes -ExecCGI" in public_html/.htaccess works, but "RedirectMatch .* http://server_domain/suspended.page/" doesn't). Even lsws restart doesn't help for that.

I also found a difference with Apache. It occurs when account exceed its bandwidth limit and after that it will be suspend (by admin/reseller in WHM). At Apache the site will be redirected to suspended page. In lsws will be information about bandwidth exceed.

The solution for that problem could be checking for file: /var/cpanel/suspended/$user. If it exist then bwlimit shouldn't work, because there is a redirection to suspended page by the .htaccess file.

Click to expand...

The problem is that, LSWS may not know the value of $user, only the domain name.
Does cPanel suspend the account automatically when bandwidth limit exceeds? does it redirect to another suspended page in .htaccess other than the default account suspended page?

If LSWS does not do anything special for the bandwidth limit, the error page in .htaccess should be displayed. Right now LSWS checks /var/cpanel/bwlimited/%{SERVER_NAME} and redirect to the 509 page.

cPanel's mod_bwlimit uses /usr/local/cpanel/etc/bwlimit.html as the "509 bandwidth exceeded", I wonder if this is ever displayed.

1. No, it doesn't suspend an account at all. It create file in /var/cpanel/bwlimited/$domain and suspend only http.
2. When http is suspended by bandwidth overusage then is no redirection by .htaccess file.

I did some test and I see that Apache must parse .htaccess file before checking for file /var/cpanel/bwlimited/$domain. It that case the redirection is before 509 error, so Apache firstly redirect to suspended page by .htaccess (the suspended page is at http://server_hostname/suspended.page/).

I did some test and I see that Apache must parse .htaccess file before checking for file /var/cpanel/bwlimited/$domain. It that case the redirection is before 509 error, so Apache firstly redirect to suspended page by .htaccess (the suspended page is at http://server_hostname/suspended.page/).