• 0

IIS // URL Rewrite Debacle // Redirecting one domain to two directions (hear me out)


Question

Hey gurus, hope you are all safe and well.

 

I really need the oracles help and guidance here.

 

Scenario

I have a domain (alias.com) which is an alias of a main (website.com) IIS site.  We need:

  • Requests for alias.com to be redirected to website.com
  • Requests for alias.com/string to be redirected to website.com/newlocation/string

 

As I type this, it really hits home as to how simple this sounds but I have been round the mill and still no further on.

 

After many iterations of attempts but here is the logic I am working with:

Rule for redirecting alias.com/string to website.com/newlocation/string

Example:  User browses to alias.com/products and should be redirected to website.com/newlocation/products

	<rule name="Rule 1" enabled="true" stopProcessing="true">
		<match url="(.*)" />
		<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
			<add input="{HTTP_HOST}" matchType="Pattern" pattern="^alias\.com/.+$" ignoreCase="true" negate="false" />
		</conditions>
		<action type="Redirect" url="http://website.com/newlocation/{R:1}" />
	</rule>

Rule for redirecting alias.com to website.com

Example:  User browses to alias.com and should be redirected to website.com

	<rule name="Rule 2" patternSyntax="ECMAScript" stopProcessing="true">
		<match url="(.*)" />
		<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
			<add input="{HTTP_HOST}" pattern="^alias\.com$" />
		</conditions>
		<action type="Redirect" url="http://website.com/" appendQueryString="false" />
	</rule>

 

Any help or advice would be greatly appreciated.

 

Thanks heroes.

1 answer to this question

Recommended Posts

  • 0

Right guys, for anyone that stumbles across this I have the solution in place now.

 

So, I wanted an alias Apex domain (www and non-www) to redirect to the main site URL BUT for any links to subdirectories and subpages of this alias domain to redirect to new location etc. (Example:  www.alias.com/products/item1/neowin-subscription) would be redirected to the main site (website.com/newlocation/products/item1/neowin-subscription).

 

Do the following to achieve this (sorry if this is really basic stuff but syntax held me back for a good few hours so putting this here for people with as much IIS URL Rewrite experience as me):

  • Add bindings for alias.com www.alias.com to your main website URL
  • Open your document root of the main website
  • Create a file called RewriteMaps.config
  • Enter the following and save:
<rewriteMaps>
  <rewriteMap name="MyRedirects">
	<add key="/about-us" value="/newlocation/about-us" />
	<add key="/contact-us" value="/newlocation/contact-us" />
	<add key="/products/item1/neowin-subscription" value="/newlocation/products/item1/neowin-subscription" />
  </rewriteMap>
</rewriteMaps>
  • Add the following to your web.config file:
        <rewrite>
        <rewriteMaps configSource="RewriteMaps.config"></rewriteMaps>
            <rules>
                <clear />
                <rule name="alias.com redirects" enabled="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{MyRedirects:{REQUEST_URI}}" pattern="(.+)" />
                    </conditions>
                    <action type="Redirect" url="{C:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
  • Restart the website and hopefully you are good to go

Life is too short to be Googling IIS URL Rewrite syntax examples, regular expression options etc.

  • Like 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • (macOS) Screen zoom was broken for me in beta 1 and it's now working properly in beta 2. In terms of performance and UI design/consistency, these betas are already much better than Tahoe.
    • Less powerful than a PS5 at twice the price! I wonder if they use that for marketing? Totally DoA.
    • Astra 0.6.1 Beta by Razvan Serea Astra is an audiophile music player designed for local music libraries, supporting MP3, FLAC, WAV, AAC, OGG, M4A, OPUS, WMA, AIFF, and more via FFmpeg. It offers gapless playback with pre-buffering, multichannel audio remapping, and Dolby Atmos decoding, ensuring albums play seamlessly while maintaining high-fidelity sound. Astra features real-time DSP visualizers powered by a native C++ engine, including an oscilloscope, spectrum analyzer, and vectorscope. A fully parametric 10-band EQ with live frequency response, built-in presets, and AutoEQ headphone calibration import lets you precisely shape your sound. Playback controls include shuffle, repeat, and drag-and-drop queue management, while the library automatically extracts metadata, album artwork, and supports global search, favorites, and recently played tracking. Additional features include output device selection, delay calibration, customizable themes, fullscreen and mini-player modes, Discord Rich Presence, optional Last.fm scrobbling, and an opt-in local API for integrations. Astra delivers a complete, high-quality desktop audio experience with no telemetry, accounts, or streaming. Astra 0.6.1 Beta changelog: Lyrics Initial XLRC support via @boof2015/xlrc 0.2.0 (#131) XLRC sidecar scanning, manual import, and renderer support Word timing, furigana, translations, voice labels, and translation-priority controls for XLRC Fullscreen lyrics overhaul with additional layout polish Manual lyrics editor with LRC, XLRC, and plain-text modes Drag-and-drop lyrics import plus sync offset controls Clickable synced lyrics for seeking, with popout and transport lyrics updates (#138) Fixed lyrics info sidebar scrolling (#138) Added a workaround for LRCLIB instability Metadata & Library Metadata editor rebuilt as a side panel Virtual DB metadata overrides and optional direct file tag writing Bulk metadata editing for title, artist, album, album artist, genre, year, track/disc numbers, and artwork Undo/redo support for virtual metadata edits Clear overrides action and default save-mode preference Artist page grid view added, with later design and sizing refinements Improved Jump to Playing with smart source, queue, album, artist, and library track targets Fixed smart source jump behavior Playlists Fixed VLC-style M3U import failures (#127) Added playlist export to M3U/M3U8 (#118) Improved imported playlist path resolution and missing-entry preservation Shuffle added to playlist pages (#121) Remove tracks directly from playlist views (#128) Fixed create-playlist-from-track modal closing when clicking inside it (#137) Multi-select quality-of-life fixes Right-click context menus no longer clear multiselections UI & Navigation Fixed UI scaling regressions in sidebar and home surfaces (#122, #123) Fixed transport bar regression (#126) Fixed horizontal scrolling on Home and Library rails Fixed artist grid sizing while searching Updated playlist action buttons and related layout polish Additional fullscreen lyrics visual adjustments Visualization Scopes and visualizers now respect UI scaling settings (#155) Added shared canvas sizing logic for correct DPR/backing-store behavior Canvas sizing tests added for visualizer scaling regressions Discord RPC Discord Rich Presence activity structure refactored Compact status can prioritize title or artist Profile info line can show file info or album Title and artist links can target YouTube Music, Last.fm, or be disabled Optional small Astra badge for cover-art presence Configurable “clear when paused” timing Added Discord activity tests Scrobbling Fixed custom Last.fm2 API profiles being accidentally blocked Expanded scrobbler profile protocol handling coverage Stability & Tests Added/expanded tests for XLRC parsing, lyrics presentation, metadata editor state, playlist import/export path handling, artist grid layout, horizontal scrolling, canvas sizing, and Discord RPC activity building Download: Astra 0.6.1 Beta | 138.0 MB (Open Source) View: Astra Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • How does it compare to the "SeeStar S30 Pro" and the "Vespera PRO 2"?
  • Recent Achievements

    • Week One Done
      Almohandis earned a badge
      Week One Done
    • Rookie
      dorf went up a rank
      Rookie
    • First Post
      mike_rumble earned a badge
      First Post
    • Dedicated
      tuben earned a badge
      Dedicated
    • Week One Done
      mnsgroup earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      501
    2. 2
      +Edouard
      209
    3. 3
      PsYcHoKiLLa
      100
    4. 4
      Michael Scrip
      85
    5. 5
      neufuse
      69
  • Tell a friend

    Love Neowin? Tell a friend!