If you've changed structure, you may need to change the rewrite rules. The pattern itself can remain unchanged, but the sub-directories may need to change.
By default rewrite will search your pattern above to find a subdirectory from this .htaccess' directory called 1/.*html, and map it back to a file called 1.php within this directory. If you need to move to the parent, start using / in your replacement where / represents your directory root.
So if you want to match site.com/sub/1/id.html to site.com/1.php?id=id, then you would need to use:
Code:
RewriteRule 1/(.*)\.html/? /1.php?id=$1
And place this .htaccess in /sub. If you want to fetch a .php buried within a sub-directory, you must target it as being in a sub-directory. You can also use rewrite conditions to determine where you are first, and match only based on those rules.
So yes the structure of the filesystem is very important in both your matching and your mapping rules. Changes to it will require rewriting the rewrite rule to properly match and replace.
This also hasn't a thing to do with PHP, moving to Apache Configurations forum.