Hi Sam.
Group WebPart is very complex control that uses by default three large sections (Wall notes, Discussion boards & Photo galleries), every section for it self has a few rewriting rules that are built to manage rewriting in stand alone scenario and in group scenario. In order to point everything to your main groups you will have to change the following rules:
<!-- 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}/"
/>
and maybe these, if you want to enable direct group editing on your main groups:
<!-- 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}/"
/>
NOTE: If you change these rules to point to your main groups
you will lose the rewriting functionality for other groups and those WebPart in stand alone usage.
I'd suggest you to another approach as this one will require a lot of effort and you will lose some functionality, why don't you go with changing the group rewriting to point to some "static page" and then on that page you handle the custom styling and WebPart for that specific group ?
Regards