WordPress en multisite, Apache et redirection infinie

Si vous avez un site WordPress tournant sous Apache et équipé d’un multisite, vous avez sans doute déja vu ce genre d’erreur dans le fichier /var/log/apache2/error.log :

Request 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: http://....

Ce problème semble lié à une redirection infinie générée par la configuration par défaut de WordPress.

Il faut remplacer les lignes automatiques générées dans le fichier .htaccess par celles-ci :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress

Source : https://gist.github.com/JustThomas/141ebe0764d43188d4f2