2017-05-19 8 views

Antwort

1

Ihre Regel ist wahrscheinlich ein verursachen Redirect-Schleife, weil sie die URL neu schreiben würde, selbst nachdem sie bereits umgeleitet wurde. In Ihrem Muster müssen Sie sicherstellen, dass die URL nicht bereits mit .html endet.

Sie könnten eine negierte Muster verwenden diese zu erreichen:

RewriteRule !\.html$ %{REQUEST_URI}.html [L,R=301] 

Alternativ, wenn Sie möchten, das für leere Pfade (wie in Ihrem Beispiel) nicht anwenden oder müssen die Spiele Ihrer Muster wiederverwenden

RewriteCond %{REQUEST_URI} !\.html$ 
RewriteRule (.+)$ $1.html [L,R=301] 

Beachten Sie, dass dies ist ein sehr einfaches Beispiel, das funktioniert nur für den genauen Fall, dass Sie beschrieben:, könnten Sie ein RewriteCondition verwenden. Dies würde auch URLs umschreiben, die mit .htm bis .htm.html enden, was vielleicht nicht das ist, was Sie wollen.