Search code examples
phpmod-rewritelighttpd

handling .html as .php (lighttpd)?


I am trying to rewrite all .php pages to be .html. I'm using this expression:

url.rewrite-once = ( "^(.*)\.php$" => "$1.html" )

And it works, until I use $_GET arguments.

How can I make it so http://website.com/search.php?find=query will just be http://website.com/search.html?find=query ?

Preserving the arguments when it is passed through mod_rewrite?


Solution

  • Try:

    url.rewrite-once = ( "^(.*)\.php\??(.*)?$" => "$1.html?$2" )
    

    This should match with or without query string arguments.

    Since you are trying to make .php files appear as .html files, I think the expressions may be reversed. You will want to match on .html and rewrite to the .php file.