New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Getting SignalR to work with Advanced URLs in DNN 7.1

In a previous blog post I talked about how to use SignalR with your DotNetNuke modules, well, if you are using DNN 7.1 and the "Advanced" URLFormat option (upgrades won't use this by default, new installs will) then the SignalR/Hubs route will no longer work, DNN will return a 404 for that path.

What you need to do is "override" the URL settings in DNN. In the DNN Platform, you have to do this manually, via the database, I believe the EVOQ ($paid$) versions have a UI for this, but for those of us who focus specifically on the open source platform, you need to make manually update database entries to customize the URL handling in 7.1+.

In order to get SignalR working in 7.1, you'll want to add a HostSetting (or portal setting if you wish, but I won't provide the SQL for that) that defines the AUM_DoNotRewriteRegEx setting. Here is a sample SQL script that will do that. (as always, run at your own risk, backup before executing, I'm not responsible for you screwing up your website).

insert into {databaseOwner}{objectQualifier}hostsettings
, SettingValue
, SettingIsSecure 
, CreatedByUserId
, CreatedOnDate
, LastModifiedByUserId
, LastModifiedOnDate
, 0
, -1
, -1

You can run this from the HOST/SQL window, or if you want to run it via SSMS, replace the {databaseOwner} and the {objectQualifier} tokens with the settings you have in your web.config. After executing this SQL you will need to recycle your application pool and clear the cache.

If you happen to already have that setting defined in HostSettings, simply add |/signalr to the end of the existing values. 

I had to come up with this fix for the next release of the #dnnCHAT module, more on that release next week.

On a side note, I hope that someone writes a free open source extension that will do this in the very near future. If you do, let me know and I'll give you some social media shout-outs. 

Update 7/28/2013: Updated the SettingValue SQL to fix a bug in 7.1 source code in DNN

Update 7/29/2013:  New tutorial for the DNN 7.1 Space character replacement in URLs


Jay Mathis
Hi Chris

I've already started a free open source extension to replace the UI that URL Master used to provide. Almost done and I'll post it to CodePlex
Jay Mathis Saturday, July 27, 2013 11:13 AM (link)
Chris Hammond
Thanks Jay, let me know when it is done!
Chris Hammond Saturday, July 27, 2013 11:40 AM (link)
Bruce Chapman
Chris, I actually recommend this value for the Regex:


Whenever you are adding to the doNotRewriteRegex it's important to append to the default values.
Bruce Chapman Sunday, July 28, 2013 11:25 PM (link)
Jay Mathis
I've got this module done and I think its working great, but the Forge seems to be down... Not sure how to get it out there.
Jay Mathis Wednesday, August 7, 2013 9:55 PM (link)
Chris Hammond
@jay for now I would just post it on Codeplex alone, or GitHub, and then ask Scott Willhite to hook it up to the Forge when it comes back online.

Send me a link when you get it posted somewhere.
Chris Hammond Monday, August 12, 2013 12:04 AM (link)
Jay Mathis

Take a look and let me know what you think.
Jay Mathis Wednesday, August 14, 2013 1:25 AM (link)

Comment Form

Only registered users may post comments.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out