Invalid search result URLs prevent items from being opened in IIS7 based servers
When we have discussion list to store many C++ related topics. Many list items use "C++" as part of their title.
After performing a search of the "C++" keyword in the search centre the results' links for items with C++ in their title. We a user clicks on the link he get the "404 error" because the target page cannot be opened.
Example of search result URL that fails
https://xxx/Lists/hello/this%20du%20C%20et%20du%20C++%20by%20test
Why this happens :
The URL from the search result page does not encode the "++".
IIS 7 by default blocks any url which has special character like “++” in them.
How to fix it:
Applications that require the use of the “+” character in the URL path can disable this validation by setting the allowDoubleEscaping attribute in the system.webServer/security/requestFiltering configuration section in the application’s web.config. However, this may make your application more vulnerable to malicious URLs:
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
Technorati Tags: "++" special character,IIS7,allowdoubleescaping,"404 error"