How can you have Composer install the site in the project root not in web/? I have downloaded Drupal 8.8 through composer drupal/recommended-project. The downloaded files structure is diff than previous download. Now core and other files are stored in web folder and vendor is out of core.

So my question is how to setup site in public_html/. I have uploaded files entire files under public_html/ but site not works. I also tried to access example.com/web but does't work.

How can I fix that?
If the server you are using uses public_html as document root, and not web as drupal/recommended-project expects, you need to follow what reported in Using Composer to Install Drupal and Manage Dependencies.


  If you want to modify some of the properties of the downloaded composer.json before composer install is executed, use the --no-install flag when running composer create-project. For example, it is possible that you want to rename the subdirectory 'web' to something else.  
  
  To do that:
  
  
  Run composer create-project drupal/recommended-project my_site_name_dir --no-interaction --no-install
  Change directories to my_site_name_dir and edit the composer.json file to suit your needs
  Run composer install to download Drupal 8 and all its dependencies.