Assuming you are intending to redirect both .shtml
and .html
to .php
...
These should both be combined into one rule, and the problem looks to be that both match because the unescaped .
before .html
stands for "any character", which therefore also matches shtml
.
The pattern \.s?html
will match the literal .
, followed by an optional s
, and ending with html
.
RewriteEngine On
RewriteRule ^(.*)\.s?html$ $1.php [R=301,L]