Why does IIS stop me from accessing this text file? - iis

Im having some trouble with basic IIS administration. I have created a site at C:\test\ with a document called test.htm. When I browse to testsite/test.htm iis is trowing an error saying it could not access the web.config. But the folder hasnt even got any asp.net resources in it. Whats going on?

I just did the same as you:
Created a new web site on C:\test
Set its binding to port 81 (port 80 already used)
Started the site
Created a html test file test.htm in C:\test
browsed http://localhost:81/test.htm and it worked
BTW - I used IIS 7.5

Is your "testsite" even mapped to the C:\test folder?
If not that would not work. Make sure that the website is mapped to where the files are.
Default folder for the default web site is c:\inetpub\wwwroot
Good luck

Related

IIS: How change URL to include site name when browsing web files

In my IIS, I have created "App1" as my site name and setup everything.
Now when I browse one of my web file from IIS, the URL for that page is something like "http://localhost/Folder1/Default.aspx".
But back to last time when I was using window 7, the URL that I can get is "http://localhost/App1/Folder1/Default.aspx", now I'm only getting "http://localhost/Folder1/Default.aspx" after I upgrade to window 8. I'm not sure if it's window 8 that causing the issue or anything, but I need advice on how to include the site name when I browse the file so that I can get "http://localhost/App1/Folder1/Default.aspx".
The reason why I need to include site name is because my entire project solution is calling files and web services that including the site name since long time ago. Without the site name, I can't run the program at all because I can retrieve data from any web service
Can anyone advice me on how to include site name in IIS?
I tried Directory Browsing but seems not the solution in my case. I try search for how to include site name in my domain but usually end up directing me to Directory Browsing.
FYI, my application pool setting is as below:
.Net CLR Version: v2.0.50727
Managed Pipeline mode: Classic
Really appreciate any help on this.
Thanks
Just in case anyone face the same issue like me, I found my solution.
Yesterday I just thought of instead of searching Google for so many hours looking for how to include site name in my URL, I remove the App1 application in my IIS. Then, in the physical directory of my App1, I created one new folder call "Main" and I move my App1 folder into Main.
When I create a new application in IIS, i create new application as App1 but point the physical application path to "Main". This way, when I browse one of the web files in IIS, I can see something like "http://localhost/App1/Folder1/Default.aspx" which totally solve my problem, and my program can run properly now.
Although I still do not know how to include site name into the URL and why the site name is missing. But at least this solve my issue now

Error 403.14 when serving page from IIS

This is very simple to reproduce:
Create a new VM (xtra small in my case, tried both Windows 2012
and 2008R2)
Install IIS using default config.
Create a Web Site using IIS Manager specifying a folder such as
C:\inetpub\simple.
Using Windows Explorer, create a new file called index.txt
Rename the file to index.htm
Edit the file with Notepad to make it a basic but valid html5
document and Save.
From IIS Manager, select the new website and click the Browse
Website link on the right side of the screen.
I get:
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
Now look at the Contents of the web site in IIS Manager and you will see that the file has a .txt extension pasted onto the end : index.htm.txt
This does not happen on my local server.
I am new to Azure and probably missing something very basic but right now I feel like I am going insane. Can anyone put me out of my misery?
This is IIS configuration issue, not Azure specific. And I would not even say it is an issue at all.
index.html is not in the list of default documents for IIS. And has never been. index.htm however is. You get 403.14 forbidden, because Directory Browsing is by default forbidden in IIS. Again, absolutely typical IIS configuration which hasn't changed for ages!
Your solutions:
Configure index.html to be in default documents (read how to do this here)
enable directory browsing (read how to do it here)
For the sake of others as stupid as me, this is all down to Windows Explorer configuration. Normally, the first thing that I do with a new Windows install is to turn off 'Hide known filename extensions'. This time I forgot.

Does ASP.NET MVC 4 application have to be in the root folder of a site on IIS 8?

iI have a ASP.NET MVC 4 application based on the VS 2012 Basic template. Using VS 2012, I can deploy the app into a root of an IIS server, such as c:\inetpub\wwwroot. Then, I can go to [http://]mymachine/ and see the app.
But, if I try to move the app to c:\inetpub\wwwroot\Test, an attempt to access [http://]mymachine/Test results in "HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory."
I tried to move the folder both manually, and also by deploying to that folder from VS 2012, but there was no difference. I tried to move the web.config file into c:\inetpub\wwwroot while leaving the rest of the app under c:\inetpub\wwwroot\Test, but that also doesn't work. I have to move global.asax, global.asax.cs and the bin folder into the site root, but then the whole app is again in the root folder, which is not what I wanted.
Does anyone know whether what I'm trying to do is possible? Thanks.
PS.: Sorry about the link formatting - I used the square brackets around [http://] to prevent stackoverflow from treating the example URIs as links.
You need to ensure that the sub-folder has been converted (or created) as an application in IIS. Load the IIS manager and locate the folder under the website node in the tree, right-click and select convert to application. If it's not listed, use the add application option.
Keep in mind that the child application will inherit web.config settings from it's parent by default (among other things). More information can be found on MSDN.

Directory Listing Denied in Orchard

I have a new Orchard site which successfully runs the setup and database configuration when running locally. But when I tried to deploy it to the actual server and point a browser to the site, I get a "Directory Listing Denied" error.
Anyone seen this and fixed it?
I figured it out. Running on a shared web server, if IIS is configured for my site to use the default app pool, Orchard is precluded from reading its own files. (Remember that Orchard uses libraries and needs deep read/write access to subdirectories).
So the solution was simply to configure the site to run in its own isolated application pool.
Looks like this on my site's control panel:
Hope this solution helps someone down the line.
My guess is that you deployed the whole source code instead of src/orchard.web.

virtual directory not being configured as an application in IIS

hi i am comletly new to iis and asp.net i am trying to setup bugNET on a godaddy server. i created a virtual directory and once i tried to launch the site i get this error:
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
here is complete detail of what i did.
hosting: godaddy
created virtual directory (child folder of root) - named: devbunk with these settings (anonymous access, directory browsing)
that is all i can do to with iis on godaddy.
the error tells me that i need to turn the virtual directory as an application. godaddy doesnt let me do that... how do i do it? btw, i have iis7 setup.
You can configure this with Godaddy Hosting Control Center. log in to godaddy hosting center.
Go to Content >> IIS Management.
Click on the pencil icon to edit your selected directory.
you will get a popped up screen with three check boxes. You need to check the one that says "Set Application Root".
Click Ok and your directory will be configured as an application in IIS.
Hope this helps you and feel free to ping me if you need more info.
You need godaddy to do that, usually hosters do offer the ability to convert a regular folder as an application through their Control Panel, so if you have access to one search for that option. Other hosters give access through IIS Manager and Web Deploy to convert folders to applications as well, but it boils down to "you need your hoster to do that".
There are no ways for you to do that through Web.config or FTP or etc. I think Front Page Server Extensions did had a way as well. The best thing is contact your hoster and ask them what is the right way of doing this. Usually all hosters will allow you to create as many applications as you need as long as they run the same .net version.
Check the properties on Web.Config to ensure "Copy to Output Directory" is set to "Do not copy"

Resources