Rivets will work, but be sure to use some sort of sealant to keep water from coming up and soaking the carpet. Automotive seam sealer is the best choice. You can get it in a caulking tube from an auto paint supply store.