RewriteRule MUST require specific ending

Hello,

I use this in my .htaccess file:

             RewriteRule ^(.*)\.html index.php?page=$1 [L]

to re-write
            page.html
as
            index.html?page=page

The problem is that it ALSO rewrites

            page.html/directory
as
            index.html?page=page

and
            page.htmlzzzzzzzzzzz
as
            index.html?page=page


I ONLY want it rewritten if if ends in .html OR has a ? at the end (like .html?get=info )

Any ideas?

Thanks!

LVL 16
hankknightAsked:
Who is Participating?
 
ravenplConnect With a Mentor Commented:
RewriteRule ^(.*)\.html$ index.php?page=$1 [L]
$ matches end of string
but note, that the above will rewrite
subfolder/something.html -> index.php/page=subfolder/something
To fix it
RewriteRule ^([^/])\.html$ index.php?page=$1 [L]
0
All Courses

From novice to tech pro — start learning today.