<
UrlRewriter
>
<
default-documents
>
<
document
>Default.aspx</
document
>
</
default-documents
>
<
register
logger
=
"MonoSoftware.UrlRewriter.Logging.DebugLogger,
MonoSoftware.UrlRewriter"
/>
<
if
url
=
"^(.*)/language/(.*)/(.*).aspx(\?(.+))?$"
rewrite
=
"$1/$3.aspx?language=$2&$5"
/>
<
if
url
=
"^(.*)/language/(.*)/(.*).aspx$"
rewrite
=
"$1/$3.aspx?language=$2"
/>
<
if
url
=
"^(.*)/language/(.*)/(.*).ashx(\?(.+))?$"
rewrite
=
"$1/$3.ashx?language=$2&$5"
/>
<
if
url
=
"^(.*)/language/(.*)/(.*).ashx$"
rewrite
=
"$1/$3.ashx?language=$2"
/>
<
if
url
=
"^(.*)/language/(.*)/(\?(.+))?$"
rewrite
=
"$1/?language=$2&$4"
/>
<!-- dynamic blog post rules, can be used regardless of the actual name of the page that holds blog parts -->
<
rewrite
url
=
"^(.*)/(.*)/post/(.*)/(.*)/(.*)/BlogCommentsPageNo/(.*)/BlogFilesPageNo/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&BlogCommentsPageNo=$6&BlogFilesPageNo=$7&$9"
name
=
"BlogPostCommentsFiles"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/post/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/post/(.*)/(.*)/(.*)/BlogFilesPageNo/(.*)/BlogCommentsPageNo/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&BlogFilesPageNo=$6&BlogCommentsPageNo=$7&$9"
name
=
"BlogPostFilesComments"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/post/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/post/(.*)/(.*)/(.*)/BlogFilesPageNo/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&BlogFilesPageNo=$6&$8"
name
=
"BlogPostFiles"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/post/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/post/(.*)/(.*)/(.*)/BlogCommentsPageNo/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&BlogCommentsPageNo=$6&$8"
name
=
"BlogPostComments"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/post/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/post/(.*)/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&$7"
name
=
"BlogPost"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/post/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/posts/(.*)/BlogPostPage/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostPage=$4&$6"
name
=
"BlogPostsPaged"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/posts/{Slug}/BlogPostPage/{PageNo}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/posts/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&$5"
name
=
"BlogPosts"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/posts/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/search/(.*)/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&SearchAction=$4&SearchValue=$5&$7"
name
=
"BlogSearch"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/search/{Slug}/{SearchAction}/{SearchValue}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/blog-tag/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&SearchAction=tag&SearchValue=$4&$6"
name
=
"BlogTag"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/blog-tag/{Slug}/{Tag}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/settings/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?ShowBlogSettings=true&BlogSlug=$3&$5"
name
=
"BlogSettings"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/settings/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/comments/(.*)/BlogCommentsPageNo/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?ShowBlogCommentsAdmin=true&BlogSlug=$3&BlogCommentsPageNo=$4&$6"
name
=
"BlogCommentsAdminComments"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/comments/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/comments/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?ShowBlogCommentsAdmin=true&BlogSlug=$3&$5"
name
=
"BlogCommentsAdmin"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/comments/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/edit/(.*)/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogPostId=$4&BlogEditMode=true&$7"
name
=
"BlogPostEdit"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/edit/{Blog.Slug}/{IdentityId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/insert/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?BlogSlug=$3&BlogInsertMode=true&$5"
name
=
"BlogPostInsert"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/insert/{Slug}/"
/>
<!-- shows all blog posts regardless of the blog they were posted to -->
<
rewrite
url
=
"^(.*)/(.*)/posts/(\?(.+))?$"
to
=
"$1/$2.aspx$3"
name
=
"AllBlogPosts"
defaultPage
=
"/Blog.aspx"
urlPattern
=
"/{PageName}/posts/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/posts/(.*)/wlwmanifest.xml(\?(.+))?$"
to
=
"$1/wlwmanifest.xml"
name
=
"WlwManifest"
urlPattern
=
"/wlwmanifest.xml"
/>
<
set
property
=
"SocialNetworkingFolder"
value
=
"/MonoX/Pages/SocialNetworking/"
/>
<
set
property
=
"MobileFolder"
value
=
"/MonoX/Mobile/"
/>
<!-- profile -->
<
rewrite
url
=
"^(.*)/mobile/profile/(.*)/(\?(.+))?$"
to
=
"$1${MobileFolder}UserProfile.aspx?UserName=$2&$4"
name
=
"MobileProfile"
urlPattern
=
"/mobile/profile/{UserNameUrlEncoded}/"
/>
<
rewrite
url
=
"^(.*)/profile/(.*)/(\?(.+))?$"
to
=
"$1${SocialNetworkingFolder}UserProfile.aspx?UserName=$2&$4"
name
=
"Profile"
urlPattern
=
"/profile/{UserNameUrlEncoded}/"
/>
<!-- file view -->
<
rewrite
url
=
"^(.*)/fileview/(.*)/(.*)/(\?(.+))?$"
to
=
"$1${SocialNetworkingFolder}FileView.aspx?FileId=$2&ReturnPageId=$3&$5"
name
=
"FileView"
urlPattern
=
"/fileview/{FileId}/{ReturnPageId}/"
/>
<
rewrite
url
=
"^(.*)/fileviewsa/(.*)/(.*)/(\?(.+))?$"
to
=
"$1${SocialNetworkingFolder}FileViewStandalone.aspx?FileId=$2&ReturnPageId=$3&$5"
name
=
"FileViewStandalone"
urlPattern
=
"/fileviewsa/{FileId}/{ReturnPageId}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/filelist-tag/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?fTag=$3&$5"
name
=
"FileListTagFilter"
urlPattern
=
"/{PageName}/filelist-tag/{Slug}/"
/>
<!-- site search -->
<
rewrite
url
=
"^(.*)/search/(.*)/(\?(.+))?$"
to
=
"$1/MonoX/Pages/MonoX/SearchResults.aspx?srchq=$2&$4"
name
=
"SiteSearch"
urlPattern
=
"/search/{Query}/"
/>
<!-- dynamic group rules, can be used regardeless of the actual name of the page that holds group parts -->
<
rewrite
url
=
"^(.*)/(.*)/GroupView/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?GroupId=$3&$6"
name
=
"GroupView"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupView/{ShortId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupEdit/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?GroupId=$3&EditMode=true&$6"
name
=
"GroupEdit"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupEdit/{ShortId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupList/(\?(.+))?$"
to
=
"$1/$2.aspx$3"
name
=
"GroupList"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupList/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupInsert/(\?(.+))?$"
to
=
"$1/$2.aspx?InsertMode=true&$4"
name
=
"GroupInsert"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupInsert/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupSearch/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?SearchValue=$3&$5"
name
=
"GroupSearch"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupSearch/{SearchValue}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupSearch/(\?(.+))?$"
to
=
"$1/$2.aspx?ShowAllGroups=true&$4"
name
=
"GroupSearchShowAll"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupSearch/"
/>
<
rewrite
url
=
"^(.*)/(.*)/GroupCategory/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?Category=$3&$5"
name
=
"GroupCategory"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Groups.aspx"
urlPattern
=
"/{PageName}/GroupCategory/{CategorySlug}/"
/>
<!-- social networking general -->
<
rewrite
url
=
"^(.*)/RequestConfirmation/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/MonoX/Pages/MonoX/Confirmation.aspx?RequestType=$2&RequestId=$3&$5"
name
=
"RequestConfirmation"
urlPattern
=
"/RequestConfirmation/{RequestType}/{RequestId}/"
/>
<!-- Photo Gallery -->
<
rewrite
url
=
"^(.*)/(.*)/activeview/(.*)/albumview/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?AlbumId=$4&activeview=$3&$6"
name
=
"PhotoList"
defaultPage
=
"/MonoX/Pages/SocialNetworking/PhotoGallery.aspx"
urlPattern
=
"/{PageName}/{ActiveControlAction}/{ActiveControlValue}/{AlbumView}/{AlbumId}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/activeview/(.*)/photoview/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?FileId=$4&AlbumId=$5&activeview=$3&$7"
name
=
"PhotoView"
defaultPage
=
"/MonoX/Pages/SocialNetworking/PhotoGallery.aspx"
urlPattern
=
"/{PageName}/{ActiveControlAction}/{ActiveControlValue}/{PhotoView}/{PhotoId}/{AlbumId}/"
/>
<!-- discussion board -->
<
rewrite
url
=
"^(.*)/(.*)/dboard/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?boardId=$3&$6"
name
=
"Discussion"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Discussion.aspx"
urlPattern
=
"/{PageName}/dboard/{BoardId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/dtopic/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?topicId=$3&$6"
name
=
"DiscussionTopic"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Discussion.aspx"
urlPattern
=
"/{PageName}/dtopic/{TopicId}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/dfilter/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?tftype=$3&$6"
name
=
"DiscussionTopicFilter"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Discussion.aspx"
urlPattern
=
"/{PageName}/dfilter/{FilterType}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/dfilter-tag/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?tftype=$3&dbtTag=$4&$6"
name
=
"DiscussionTopicTagFilter"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Discussion.aspx"
urlPattern
=
"/{PageName}/dfilter-tag/{FilterType}/{Slug}/"
/>
<
rewrite
url
=
"^(.*)/(.*)/dmessage/(.*)/(.*)/(\?(.+))?$"
to
=
"$1/$2.aspx?dmsgId=$3&dmsgMode=$4&$6"
name
=
"DiscussionEditMessage"
defaultPage
=
"/MonoX/Pages/SocialNetworking/Discussion.aspx"
urlPattern
=
"/{PageName}/dmessage/{MessageId}/{Mode}/"
/>
<!-- dynamic content page -->
<
rewrite
url
=
"^(.*)/ContentPage/(.*)/(\?(.+))?$"
to
=
"$1/MonoX/Pages/Content.aspx?hdci=$2&$4"
name
=
"ContentPage"
urlPattern
=
"/ContentPage/{ContentId}/"
/>
<!-- mobile dynamic content page -->
<
rewrite
url
=
"^(.*)/Mobile/Content/(.*)/(\?(.+))?$"
to
=
"$1/MonoX/Mobile/Content.aspx?hdci=$2&$4"
name
=
"MobileContentPage"
urlPattern
=
"/Mobile/Content/{ContentId}/"
/>
<!-- do not remove the last rule - supports for default page if all rules above have failed -->
<
if
url
=
"^(.*)/\?language=(.*)(\?(.+))?$"
rewrite
=
"$1/Default.aspx?language=$2&$4"
/>
</
UrlRewriter
>