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
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.