views:

208

answers:

1

I am running MVC in a subdomain
http://test.domain.com which points to the /Test directory on my webhost4life account.

Html.ActionLink("About", "About", "Home")

it renders a link to

http://test.domain.com/Test/Home/About -- which gives a 404

the link should be ..

http://test.domain.com/Home/About

is there a way to override ActionLink to omit the /Test on render?

Thank you


Experiment 1

I added a route to the table like this...

routes.MapRoute(
     "Test",  // Route name
     "Test/{controller}/{action}/{id}",  // URL with parameters
     new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
);

and now action link renders links like this.. http://test.domain.com/Test/Test/Home/About/ when this is clicked it does not give a 404 but gives the Home controler About action.

Result

No more broken links but the site renders ugly urls.

A: 

For a site using lots of subdomains I use a nifty MVC extension from ITCloud called UrlRouteAttribute. It allows you to assign a route to every action as an attribute setting the path and name. I have extended this to allow fully qualified paths - so to include the domain/subdomain the controller should attach to. If this is something you'd be interested in I'll upload a copy somewhere.

Lovely Bananas
It looks very simple for making routes. I looked at it here http://itcloud.codeplex.com/ and it looks good, if you have a sample you could post I'd love to see it.
eiu165