Please make sure to update to WPML 4.3.5 and check our list of Known Issues before reporting

Hi, Amit here, I am the WPML Support Manager, our current ticket queue is high, update your WPML plugins and make sure you meet the minimal requirements for running WPML before reporting an issue please - many tickets are resolved doing that

Please look at our updated list of Known Issues and you can also use our support search to find helpful information and of course review our documentation before opening a ticket.

If you do need to open a ticket please make sure to provide us with all the needed information as described in this page

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 8 replies, has 2 voices.

Last updated by nuriG 1 month, 1 week ago.

Assigned support staff: Andreas W..

Author Posts
October 26, 2019 at 11:08 am #4831439

nuriG

My site is experiencing a lot of downtime since I updated to latest version this weekend. Please help investigate what's going wrong

I contacted my host and they say it's caused by WPML
See attachments.

Hello Nuri,

Thank you for the update.

I have checked the URL you have provided as well as tens of other URLs on your wbsite and I did not face a single error anywhere:

hidden link

hidden link

However, I found in the access logs HTTP status 500 returned by the web server a few minutes ago:

63.143.42.247 - info@gevcen.be [26/Oct/2019:08:15:21 +0000] "GET /disponibilite-operationnelle/ HTTP/1.1" 500 670 "hidden link" "Mozilla/5.0+(compatible; UptimeRobot/2.0; hidden link)"

I compared it with the same time stamp in the error log of the server and the only error recorded in that moment is:

2019-10-26 08:15:21.445896 [Sat Oct 26 08:15:21.445803 2019] [core:error] [pid 55490] [client 63.143.42.247:55408] AH00124: Request for hidden link exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: hidden link

It seems there are too many internal redirects happening on your website that have generated the error in question and most likely the 500 internal server error you have seen.

I have added this rule to your .htaccess file:

RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

in ~/www/gevcen.be/public_html/.htaccess

Which should help prevent such redirect loops, but it is recommended that you check the configuration of your website for any plugin/permalink etc. that might be generating additional redirects. For example, such issues are observed when WPML plugin ins installed and you have it on your website activated at the moment:

https://wpml.org/forums/topic/500-internal-server-error-too-many-internal-redirects/

You can also discuss it with the plugin developers so they can check how it behaves and if it adds unnecessary redirects and under what conditions.

Should you need our further assistance, do not hesitate to contact us back at anytime.

Best Regards

Todor Savov
Technical Support Team

October 28, 2019 at 1:13 am #4835871

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

Thank you for contacting the WPML Support Forum.

To help you faster, I've enabled a private message for submitting the debug information for this support ticket. Please see this link for how to get this information from your site and give it to us:
http://wpml.org/faq/provide-debug-information-faster-support/

Do I understand right the downtimes are somehow randomly and not triggered by any specific translation task?

Could you please have a look into the following errata and apply the fix suggested there?
https://wpml.org/errata/htaccess-is-rewritten-with-language-folder/

Let me know if this solved the issue.

Kind regards
Andreas

October 29, 2019 at 11:21 am #4846807

nuriG

The downtime occurs only through the night, when my site is being inactive. I noticed that when the downtime occurs and I connect again to my admin backend, the site becomes again up and running. However, this never happened before the last update of WPML.

I contacted my host and they told me that those kind of server errors usually occurs because of WPML as it generates internal redirects that exceed any regular hosting configuration. I'm hosted at Siteground, so no one can tell there's a better provider than they GoGeek plan, which is the most commonly used plan for eCommerce.

I can grant you access to my hosting admin so that you take a copy of my live site, to work on it locally if you need.

October 29, 2019 at 11:38 am #4846965

nuriG

The server error has been encountered just now by simply naviguating on a product page. This really never occured in the past before WPML update! See the error log from my hosting provider :

2019-10-29 11:36:17 UTC [apache][core:error] [pid 42259] [client 35.204.101.56:42330] AH00124: Request for hidden link exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: hidden link

October 29, 2019 at 4:58 pm #4850481

nuriG

I still wait answer, this is very urgent !! My site is fahing server error because of your plugin!!!!!! It s urgent!

October 29, 2019 at 6:47 pm #4851099

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

My apologies for the delay in answering.

Can you confirm that the RedirectBase Rule in your .htaccess file is not using any added language directory? In case you see a language directory behind this entry, please delete it.

You can find an example in this ticket:
https://wpml.org/forums/topic/changes-the-htaccess-file/

Then apply the fix mentioned in our errata to your theme´s functions.php file:

https://wpml.org/errata/htaccess-is-rewritten-with-language-folder/

If this will solve the issue, please take note that this a general WordPress issue and not a bug caused by WPML. It is the result of various installed plugins calling the same function called flush_rewrite_rules(true) simultaneously.

If this will not solve the issue we might debug further and I will request access to your website for further investigation.

Kind regards
Andreas

October 29, 2019 at 6:54 pm #4851131

nuriG

I have absolutely no knowledge about htaccess. Here is below the htaccess of my site. Please let me know if the "temporary workaround" that you mentionned applies to my case?

# BEGIN WP Rocket v3.4.0.5
# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset UTF-8
# Force UTF-8 for a number of file formats
<IfModule mod_mime.c>
AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml
</IfModule>
# FileETag None is not enough for every server.
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
# Since we’re sending far-future expires, we don’t need ETags for static content.
# developer.yahoo.com/performance/rules.html#etags
FileETag None
<IfModule mod_alias.c>
<FilesMatch "\.(html|htm|rtf|rtx|txt|xsd|xsl|xml)$">
<IfModule mod_headers.c>
Header set X-Powered-By "WP Rocket/3.4.0.5"
Header unset Pragma
Header append Cache-Control "public"
Header unset Last-Modified
</IfModule>
</FilesMatch>
<FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
<IfModule mod_headers.c>
Header unset Pragma
Header append Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>
# Expires headers (for better cache control)
<IfModule mod_expires.c>
ExpiresActive on
# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"
# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
# Your document html
ExpiresByType text/html "access plus 0 seconds"
# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
# Feed
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
# Favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"
# Media: images, video, audio
ExpiresByType image/gif "access plus 4 months"
ExpiresByType image/png "access plus 4 months"
ExpiresByType image/jpeg "access plus 4 months"
ExpiresByType image/webp "access plus 4 months"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# Webfonts
ExpiresByType font/ttf "access plus 4 months"
ExpiresByType font/otf "access plus 4 months"
ExpiresByType font/woff "access plus 4 months"
ExpiresByType font/woff2 "access plus 4 months"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
# Gzip compression
<IfModule mod_deflate.c>
# Active compression
SetOutputFilter DEFLATE
# Force deflate for mangled headers
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# Don’t compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp|pdf)$ no-gzip dont-vary
</IfModule>
</IfModule>
# Compress all output labeled with one of the following MIME-types
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
<IfModule mod_headers.c>
Header append Vary: Accept-Encoding
</IfModule>
</IfModule>
<IfModule mod_mime.c>
AddType text/html .html_gzip
AddEncoding gzip .html_gzip
</IfModule>
<IfModule mod_setenvif.c>
SetEnvIfNoCase Request_URI \.html_gzip$ no-gzip
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} on [OR]
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* - [E=WPR_SSL:-https]
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond "%{DOCUMENT_ROOT}/home/customer/www/gevcen.be/public_html/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/.no-webp" !-f
RewriteRule .* - [E=WPR_WEBP:-webp]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* - [E=WPR_ENC:_gzip]
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_.+|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
RewriteCond %{REQUEST_URI} !^(/comparateur/|/mes-favoris/|/phone-orders-frontend-page/|/suivre-mon-colis/(.*)|/wp-admin/(.*)|/(.+/)?feed/?|/(?:.+/)?embed/)$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC]
RewriteCond "%{DOCUMENT_ROOT}/home/customer/www/gevcen.be/public_html/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" -f
RewriteRule .* "/home/customer/www/gevcen.be/public_html/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}%{ENV:WPR_WEBP}.html%{ENV:WPR_ENC}" [L]
</IfModule>
# END WP Rocket
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^coupon/(.+)/? /coupon?code=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
AddHandler application/x-httpd-php73 .php .php5 .php4 .php3

October 30, 2019 at 4:47 am #4852523

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue. It would be better to a testing site where the issue is replicated.

You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.

Maybe I'll need to replicate your site locally. For this, I’ll need to temporarily install a plugin called “Duplicator” on your site. This will allow me to create a copy of your site and your content. Once the problem is resolved I will delete the local site. Let me know if this is ok with you.

IMPORTANT

Please make a backup of site files and database before providing us access.
If you do not see the wp-admin/FTP fields this means your post & website login details will be made PUBLIC. DO NOT post your website details unless you see the required wp-admin/FTP fields. If you do not, please ask me to enable the private box. The private box looks like this:
hidden link

Kind regards
Andreas

November 2, 2019 at 10:24 am #4874067

nuriG

My issue is resolved now. Thank you!