As I posted before, I've been doing some SharePoint mentoring in Waltham. The team built a SharePoint medium server farm from scratch to show off MOSS from an Enterprise perspective. Naturally, there were a number of errors with the set up; no matter how many times I do this, it never just works OOTB.
Here's the error: After fixing the previous SharePoint error, doing a search from the site collection http://servername/sitecol, we got:
"The Site Collection http://servername/sitecol could not be found in Web Application http://servername "
Short Answer: If you are using search on a Site Collection that sites other than at Root on a Web Application, you either need another Web Application at Root, or turn Root on as a Wildcard Inclusion.
Longer Answer: Basically, SharePoint is having problems finding this Site Collection in its search index. This isn't a problem when you have your Site Collection defined at the Root of your Web application, but it's a problem when you put the Site Collection at another non root spot. The reason for this is easy to see when you take a look at how SharePoint is searching.
Take a look at the search scope on the SSP. It will probably list something like this:
http://servername1:port/
http://servername2:port/
http://servername3:port/
What this means is that SharePoint will start at these sites and then go to the sub-sites from below. Normally, you will have a site at each of these roots and then go to the sub-sites in the directories below. But you don't have anything at http://servername1:port/ ; your site is at http://servername1:port/sitecol. So it can't be found by starting at any of the starting locations.
You have two options from this point on:
- Change your site index to include this site collection. This means that you'll have to put http://servername1:port/sitecol in the Search Index. That's pretty easy to do, but it requires that you have SSP admin rights (since this setting lives on the SSP) and you'll have to do it for each site collection.
- Change your Managed Access Path to include "/" as a wildcard inclusion. This will work across all site collections (so you only have to do it once) and only requires access to your Central Admin (hey, in *some* places you have access to CA, but not SSP). *However*, then all sites that match "/" are included in SharePoint. So if you put a /VirtualDirectoryOutsideOfSharePoint at root, it'll take control from your external app.
So, it's really up to you, which method you choose. If you're going for maintainability and you create tons of Site Collections, then I would definitely go with option two. But if you use a lot of VDirs at root, then you might want to avoid this option.
Either way, search is now working. And the job is done.