I am running Drupal on II7 with rewrite module and everything seemed to be working until I attempted to do an advanced search using a content type filter. When I attempt this I recieve a 500.50 error. It appears that the issue has to do with how the rewrite handles URI parameters with a colon seperating the name from the value (i.e. type:page). Has anyone encounter this issue and found resolution?

Comments

tmaddaford’s picture

In case it helps anyone else struggling with this I found that by adding a second rule to my web.config file:

                    <rule name="Drupal Search Rule" enabled="true" stopProcessing="true">
                        <match url="^(.*) (.*):(.*)$" />
                        <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                        </conditions>
                        <action type="Rewrite" url="index.php?q={R:1} {R:2}%3A{R:3}" appendQueryString="false" />
                    </rule>

and adding to the same file:

<security>
			<requestFiltering allowDoubleEscaping="True" />
		</security>

I was able to get advanced searching working.

jim.phelan’s picture

Check that the version of your rewrite module on IIS7 is at least 2.0.

To find the version you need to check with the module in stored and I believe there will be a associated doc file of some sort with the version in it (or a file date of around 9/2010)

1. Go to Server Manager -> Roles -> Internet Information Services (IIS) -> Sites -> 'Your Site'
2. Click on 'Modules' - this should display the paths to where all the modules are installed, including URL

for me it was in something like C:\windows\sytem32\inetsrv\rewrite.dll

If it is less then 2.0 then upgrading to 2.0 will should fix it.

jim.phelan’s picture

Ooops sorry, just noticed that this was a Jan 2010 post not a Jan 2011 post.