Jason Eyebe
Jason Eyebe

Reputation: 161

Rewrite Rule in IIS (web.config) - Negate All Subfolders

I need to rewrite a certain page on my website from an extension-based page (.asp) to a non-extension based page. However when I do this the rule also affect all sub-folders. The page is as follows:

www.mysite.com/my-page

It needs to re-write to:

www.mysite.com/my-page.asp

However I need to negate the following from re-writing:

www.mysite.com/my-page/sub-folder-1

www.mysite.com/my-page/sub-folder-1/sub-folder-2

etc.

The code I currently have is as follows:

<rule name="re-write-rule-test" stopProcessing="true">
  <match url="^my-page" />
  <action type="Rewrite" url="/my-page.asp" />
  <conditions>
    <add input="{REQUEST_URI}" pattern="^/([^/]+)?$" negate="true" />
  </conditions>
</rule>  

But it isn't working. The re-write on the actual page works fine but the the negation is failing and all sub-folder pages are also being re-written.

Can you please help?

Thanks,

Jason

Upvotes: 2

Views: 1328

Answers (1)

Jason Eyebe
Jason Eyebe

Reputation: 161

Answered by Tensibai as per the below. Thanks!

I assume changing by would be enought (adding a termination to the match to avoid matching everything starting by 'my-page'. – Tensibai 58 mins ago

Upvotes: 1

Related Questions