@ Sagar, Welcome to Microsoft Q&A!
Apologies for any frustration with this issue.
Firstly, just to highlight unlike Git-based deployments, FTP deployment doesn't support the following deployment automations:
- Dependency restores (such as NuGet, NPM, PIP, and Composer automations)
- Compilation of .NET binaries
- Generation of web.config (here is a Node.js example)
So, you would have to generate these necessary files manually on your local machine, and then deploy them together with your app.
I understand you have already reviewed the deployment files & yes the default root path ( /) is D:\home\site\wwwroot, along with the deployment files, you should also include any custom deployment script with your code by adding a deployment file into the project’s root and specifying the deployment script (For specific start file). Review that your startup file is deployed to App Service and that it doesn't contain any errors.
The default document is the web page that appears at the root URL for a website. The first matching file in the list is used. If the app uses modules that redirect based on the URL instead of providing static content, there is no need for standard documents.
You may update the application settings to the following and then check:
- WEBSITE_DYNAMIC_CACHE — 0
- WEBSITE_LOCAL_CACHE_OPTION- Never
For staging enable this else app will be cached and will not refresh on publishing.
- WEBSITE_WEBDEPLOY_USE_SCM — false
Set false else you will not be able to use VS to publish directly.
Note that any changes you make outside the /home directory are stored in the container itself and don't persist beyond an app restart. Ensure that you're using App Service for Linux rather than a Windows-based instance
You can also inspect the log files from Kudu console at https://.scm.azurewebsites.net/api/logs/docker to fetch more details on the issue.
Kindly let us know how it goes for further investigation.