If you visit a website or use the curl command to check the status of a website and get back an error:
curl -vL --head https://example_domain.tld
"This page isn't working" (HTTP error 500), this typically indicates a server-side issue and there are a number of possible causes for this type of error.
This isn't usually an issue with the cPanel & WHM or Plesk software, but likely an issue with the application or the firewall/security device in front of the server.
Common causes include:
- PHP configuration errors
- .htaccess file misconfiguration
- File permissions issues
- Resource limits exceeded
- Database connection problems
- Missing or corrupt files
- Cache-related issues
Troubleshooting "This Page Isn't Working" Error
|
Prerequisites
- Access to your cPanel or Plesk control panel
- SSH access to your server (root or sudo privileges)
- Basic understanding of web server configuration
- Backup of your website files and database
Initial Diagnostics
1. Check Error Logs
For cPanel:
# Access Apache error logs
tail -f /var/log/apache2/error.log # Debian/Ubuntu
tail -f /var/log/httpd/error_log # RHEL/CentOS
# Access PHP error logs
tail -f /var/log/php-fpm/www-error.log
For Plesk:
# View domain-specific logs
tail -f /var/log/plesk/error_log
Through control panels:
- cPanel: Navigate to "Metrics" → "Errors"
- Plesk: Navigate to "Websites & Domains" → "Log Browser"
Fixing "ERR_TOO_MANY_REDIRECTS" and Login Issues in Plesk
If you're encountering "The page isn't redirecting properly" or "ERR_TOO_MANY_REDIRECTS" errors when logging into Plesk, or if websites on the server are displaying "ERR_EMPTY_RESPONSE," this guide will walk you through troubleshooting these issues. We’ll also cover possible causes and resolutions, including how to identify Plesk database inconsistencies or a Google Authenticator extension conflict.
Symptoms
Common signs of this issue include:
- Browser Errors: When accessing Plesk, you may see messages such as:
- "The page isn't redirecting properly"
- "This page isn’t working - ERR_TOO_MANY_REDIRECTS"
- Website Errors: Websites hosted on the server may display "ERR_EMPTY_RESPONSE" or produce the following
curl
error when checked via the command line:curl -vL --head https://example_domain.tld
The following error message may appear in the Plesk log (/var/log/plesk/panel.log
):
ERR [panel] PleskObjectNotFoundException: Unable to find service node for ip address with id=2
file: /opt/psa/admin/plib/Db/Table/Broker/ServiceNodes.php
Cause
These errors typically stem from:
- Database Inconsistencies - Inconsistencies in the Plesk database, particularly in the
psa.IpAddressesCollections
table, may lead to redirect issues or failures to load. - Google Authenticator Extension Bug - If the failed page URL relates to Google Authenticator, such as:
then this issue may be caused by a known bug (Plesk ID PPPM-14096).https://203.0.113.2:8443/modules/google-authenticator/index.php/index/auth?return=%2Fcp%2Flicense%2F
Resolution
Fixing Database Inconsistencies
To resolve inconsistencies in the Plesk database, follow these steps:
- Connect to the Server via SSH
Open a terminal and connect to your Plesk server using SSH:
Replacessh [username]@[server_ip]
[username]
with your SSH username and[server_ip]
with your server's IP address. - Run Plesk Database Repair
Use the following command to repair database inconsistencies:
This command will automatically fix common issues in the Plesk database.plesk repair db -y
Resolving Google Authenticator Extension Bug
If the issue stems from the Google Authenticator extension, you may need to disable it temporarily to restore functionality:
- Disable Google Authenticator
Temporarily disable the Google Authenticator extension:plesk bin extension --disable google-authenticator
- Activate the Plesk License
Once the extension is disabled, activate your Plesk license through the Plesk panel. - Re-enable Google Authenticator
After activating the license, re-enable the extension:plesk bin extension --enable google-authenticator
Common Causes and Solutions (Detailed)
1. PHP Version Compatibility
Problem: Applications require specific PHP versions to function properly. For example, ALEGROCART and other e-commerce platforms often have strict version requirements.
Solutions:
In cPanel:
# Check current PHP version
php -v
# List available PHP versions
/usr/local/cpanel/scripts/ea-php-cli list
- Navigate to "MultiPHP Manager" if using EAPHP. Else, use Select PHP Version in the Software section of your cPanel.
- Select your domain
- Choose the compatible PHP version
- Click "Apply"
In Plesk:
- Go to "Websites & Domains"
- Select "PHP Settings"
- Choose the appropriate PHP version
- Click "Apply"
Verify PHP Extensions:
# Check loaded PHP extensions via CLI
php -m
# Enable extension in php.ini (example for curl)
echo "extension=curl" >> /etc/php.d/curl.ini
2. File Permissions Issues
Problem: Incorrect file or folder permissions can block access to scripts, resulting in an error.
Solutions:
# Set correct permissions recursively
find /path/to/website -type f -exec chmod 644 {} \;
find /path/to/website -type d -exec chmod 755 {} \;
# Set ownership
chown -R username:username /path/to/website
# Special cases for writable directories
chmod 775 /path/to/website/cache
chmod 775 /path/to/website/uploads
Common Permission Requirements:
- Public HTML directory: 755
- Files: 644
- Configuration files: 600
- Executable scripts: 755
- Upload directories: 775
3. Corrupted or Missing Files
Problem: If some files don't upload correctly or are missing, the application might fail to load.
Solutions:
# Check for corrupted files
find /path/to/website -type f -exec md5sum {} \; > checksums.txt
# Compare with original checksums (if available)
diff checksums.txt original_checksums.txt
# Create file list
find /path/to/website -type f > file_list.txt
# Compare with required files list
comm -23 required_files.txt file_list.txt
4. .htaccess Issues
Problem: The .htaccess file controls redirects and configurations. If there's an incorrect directive, it could prevent the page from loading.
Solutions:
# Backup existing .htaccess
cp .htaccess .htaccess.backup
# Create optimized .htaccess
Options -Indexes +FollowSymLinks
RewriteEngine On
# PHP handler configuration
AddHandler application/x-httpd-php .php
# Security headers
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
# Enable compression
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
# Browser caching
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
5. Resource Limits
Problem: Exceeding allocated resources (CPU, memory) can lead to intermittent errors.
Solutions:
# Real-time resource monitoring
top -c
# Memory usage
free -m
# Disk usage
df -h
# Process list
ps aux | grep httpd
Configure PHP resource limits:
; Optimal settings for most applications
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
max_input_vars = 3000
6. Cache Issues
Problem: Stale cache can prevent proper page loading.
Solutions:
# Clear OpCache via CLI
php -r 'opcache_reset();'
# Clear application cache
rm -rf /path/to/website/cache/*
rm -rf /path/to/website/tmp/*
# Restart services
systemctl restart apache2 # Debian/Ubuntu
systemctl restart httpd # RHEL/CentOS
systemctl restart php-fpm
Preventive Measures
1. Implement Monitoring
# Install monitoring tools
apt install monit # Debian/Ubuntu
dnf install monit # RHEL/CentOS
# Configure basic monitoring
cat << EOF > /etc/monit/conf.d/apache
check process apache with pidfile /var/run/apache2/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if cpu > 80% for 5 cycles then alert
if memory > 200.0 MB for 5 cycles then restart
EOF
2. Regular Maintenance
# Create maintenance script
cat << EOF > /root/maintenance.sh
#!/bin/bash
# Update system
apt update && apt upgrade -y
# Rotate logs
logrotate -f /etc/logrotate.conf
# Clear temporary files
find /tmp -type f -atime +7 -delete
EOF
chmod +x /root/maintenance.sh
Troubleshooting Checklist
PHP version compatibility checked
File permissions verified
File integrity confirmed
.htaccess configuration validated
Resource usage monitored
Cache cleared
Error logs reviewed
Database connectivity tested
When to Contact Support
Document all steps taken and error messages encountered if:
- Error persists after clearing cache/cookies
- Server resource usage remains high
- Database connectivity issues continue
- SSL/TLS problems persist
Contact our support team to determine the cause and the proper solution to take.
Disclaimer: Always test these steps in a development/staging environment first. While this guide is comprehensive, please check the official documentation for your specific software versions, as features and commands may change over time.