nginx redirect loop, supprime index.php de l'URL

Je veux tout les requêtes comme http://example.com/whatever/index.phpde faire une redirection 301 de http://example.com/whatever/.

J'ai essayé d'ajouter:

rewrite ^(.*/)index.php$ $1 permanent;

location / {
    index  index.php;
}

Le problème ici, cette réécriture est exécuté sur la racine de l'url, ce qui provoque une infinie boucle de redirection.

Edit:

J'ai besoin d'une solution générale

http://example.com/ doit servir le fichier webroot/index.php

http://example.com/index.phpdevrait redirection 301 pour http://example.com/

http://example.com/a/index.php devrait redirection 301 pour http://example.com/a/

http://example.com/a/ doit servir à la index.php script à webroot/a/index.php

Fondamentalement, je ne veux plus afficher "index.php" dans la barre d'adresse. J'ai des vieux backlinks que j'ai besoin de rediriger vers l'url canonique.

source d'informationauteur jcampbell1

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *