Bonjour à tous,

J'ai rinstallé mon petit VPS SSD de chez ovh hier, du coup j'en ai profiter pour passer à Debian 8.2. De ce faite, il installe automatiquement Apache 2.4, mais depuis je me retrouve avec une erreur err_too_many_redirects :s

Voici mon virtualhost :

<VirtualHost *:80>
        ServerAdmin ***.***@supinfo.com
        ServerName www.***.fr
        ServerAlias ***.fr

        DocumentRoot /var/www/html/***.fr

        <Directory /var/www/html/***.fr/>
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/***.fr-error.log
</Virtualhost>

Une partie de mon fichier .htaccess

RewriteEngine On

RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^accueil\.php$ index [L,R=permanent]
RewriteRule ^index$ accueil.php [L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^blog\.php$ blog [L,R=permanent]
RewriteRule ^blog$ blog.php [L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^blog\.php?page=([0-9]+)$ blog-$1 [L,R=permanent]
RewriteRule ^blog-([0-9]+)$ blog.php?page=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^view\.php?id=([a-zA-Z0-9-]+)$ blog/$1 [L,R=permanent]
RewriteRule ^blog/([a-zA-Z0-9-]+)$ view.php?id=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^view\.php?id=([a-zA-Z0-9-]+)&action=([a-zA-Z]+)$ blog/$1&action=$2 [L,R=permanent]
RewriteRule ^blog/([a-zA-Z0-9-]+)&action=([a-zA-Z]+)$ view.php?id=$1&action=$2 [L]

RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^view\.php?id=([a-zA-Z-]+)&page=([0-9]+)$ blog/$1--$2 [L,R=permanent]
RewriteRule ^blog/([a-zA-Z-]+)--([0-9]+)$ view.php?id=$1&page=$2 [L]

A savoir que avec Apache 2.2 TOUS fonctionner bien.... Je désespère ...

Cordialement
Timothé Mauzet

3 réponses


Mmh je n'avais jamais vu ça

RewriteCond %{ENV:REDIRECT_STATUS} =""

Le problème ne viendrais pas de ces conditions ?

Je pense que cela vient de la car normalement la condition est comme ceci :

RewriteCond  %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

Cela stoppe la redirection quand le HTTP Status est à 200;.

D'après ce que je crois comprendre
ces 2 règles se renvoient la balle

RewriteRule ^accueil\.php$ index [L,R=permanent]
RewriteRule ^index$ accueil.php [L]

index -> accueil.php -> index -> accueil.php ....