This site is run on blogengine.net, and it has quite a bit of web.config entries required to support it. In a shared hosting environment that is common when purchasing web-hosting from companies such as Godaddy, or discountasp.net, your likely to put in some virtual directories under your domain. For example http://www.somecooldomain.com/someVirtualDirectory/
A virtual directory will automatically inherit the config values of the parent. unless cleared or overridden in the child directory. In our example here, we want to host a WCF service in the sub-domain of our site, while BlogEngine.net is setup in our root directory. To do this, lets first clear out the entries from blogengine.net that will conflict with our virtual directory. To do that add the following entries to the web.config of our WCF service.
In the root node, preferably near our authentication statement.
<roleManager enabled="false">
<providers>
<clear/>
</providers>
</roleManager>
In the pages node add this entry to clear namespaces
<namespaces>
<clear/>
</namespaces>
Next in the http modules add these remove statements
<remove name="WwwSubDomainModule"/>
<remove name="UrlRewrite"/>
<remove name="CompressionModule"/>
<remove name="ReferrerModule"/>
Next, to just be sure in IIS7 add this in system.webserver node under modules.
<remove name="ScriptModule" />
<remove name="WwwSubDomainModule"/>
<remove name="UrlRewrite"/>
<remove name="CompressionModule"/>
<remove name="ReferrerModule"/>
Now this takes care of what you may be able to google and hunt for in regards to blogengine.net, however you still may have some additional problems related to your WCF service.
For instance, the first one being that after all these fixes your getting a web error stating "Failed to execute URL". Long story short, your web-host may be running your app pool in classic mode, and if you change it to integrated mode, this error should go away. Potentially to be replaced with another error.
Another common problem is naturally trust levels, if you just used the standard Visual Studio WCF service template, then your WCF service is most likely configured for WSHttpBinding. Which can be an issue based on your trust level. If you have to keep WSHttpBinding, then your going to want to do additional research on how to keep that. In my case it was easier just to remove my WSHttpBinding and replace it with a basichttpbinding since this WCF service was going to be consumed by a Silverlight app anyways.
Another issue that can arise is the web-host or parent config may cause issues with the actual .svc type itself. In which case you probably just need to add the build provider to the web.config
Add this in the compilation node.
<buildProviders>
<remove extension=".svc" />
<add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider,System.ServiceModel, Version=3.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" />
</buildProviders>
Finally, another potential error related to virtual directories and WCF services is the actual allowing of prefixes accurately. And that of aspnetcompatiblity issue. This can all be resolved in the same part of the web.config with the following addition.
<serviceHostingEnvironment aspNetCompatibilityEnabled="false">
<baseAddressPrefixFilters>
<add prefix="http://www.yourdomainname.com/yourdirectory/"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
Hopefully this covers all the potential configuration errors with a WCF service in a Virtual Directory under blogengine.net