1

After upgrading PHP to version 7.4, I get the following error:

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Additionally, a 503 Service Unavailable error was encountered while trying to use an ErrorDocument to handle the request.

I tried all the solutions such as deactivating plugins and changing theme. Both didn't work.

I think it's maybe related to .htaccess file, As I could view the homepage with http only after commenting part of .htaccess.

Here is my .htaccess:

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
    
# SET CACHE
<IfModule mod_rewrite.c>
    <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|eot|woff2|woff|ttf|svg)$">
    Header set Cache-Control "max-age=31449600, public"
    </FilesMatch>
    <FilesMatch "\.(xml|txt|js|css|json)$">
    Header set Cache-Control "max-age=604800, public, must-revalidate"
    </FilesMatch>
    <FilesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=28800, must-revalidate"
    </FilesMatch>
</IfModule>
# ZIP IMAGES
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</IfModule>

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php74” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

I commented this part:

#RewriteCond %{HTTPS} off
#RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

After that I could visit http://mywebsite.com, But sub-pages didn't work only homepage.

I have a subdomain called test, If that may help.

How to solve this issue?

Mark
  • 11
  • 1
  • First delete the .htaccess file (make sure to create a backup). Then go to wordpress dashboard, permalinks, and click on save changes, it will create a fresh .htaccess file which should solve your issue. – Agent K May 08 '21 at 04:36

0 Answers0