Hi Francis,
Thanks for introducing me to rewrite directive. Just to confirm, this is how I should use your rewrite:
root /home/www/example;
location /public/doc/ {
rewrite (.*)/(.*) $1/$2/$2.html break;
}
Ideally, for the other cases you raised, I want the following to happen:
>http://www.example.com/public/doc/abc123
>http://www.example.com/public/doc/abc123?para=nodata
when the query string (e.g. ?para=blah) part is missing or incomplete, I want to serve a generic error page (e.g. /error.html)
>http://www.example.com/public/doc/abc123/abc123.html
when the user tries to access the actual html page directly, I want to block it by either returning a 404 or serving a generic error page as above
>http://www.example.com/public/doc/one/two
when the user queries an URI that has no corresponding .html file on the server, I want to simply return a 404.
Can all these be implemented using rewrite only? Thanks.