다음 문제가 발생했을 때 내 고객 중 하나의 MVC 프로젝트에서 작업하고있었습니다.ASP.NET MVC가 요청한 URL이 아닌 첫 번째 페이지로드시 홈페이지로 리디렉션됩니다.
나의 클라이언트는 부동산 중개인입니다. (http://stienstra.nl/)
지난 주 우리는 주택 방문을위한 온라인 양식을 작성합니다. 3 일 후 가입자는 고객 만족도 양식 (지난 주 빌드)에 대한 링크가 포함 된 이메일을받습니다. (http://stienstra.nl/Enquete) 이 링크를 클릭하면 사이트가로드되고 사용자가 양식 대신 홈페이지로 리디렉션됩니다.
이미로드 된 (집) 페이지의 URL을 stienstra.nl/Enquete로 변경하면 정상적으로 작동합니다.
누구나 잘못 알 수 있습니까?
고맙습니다.
내 RouteConfig
namespace Stienstra.App_Start
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("xml");
routes.MapRoute("SitemapXml", "sitemap.xml", new {controller = "Xml", action = "Sitemap"});
// NOTE THE MAINTENANCE ROUTE - only if exists in web.config
try
{
var settings = new AppSettingsReader();
if (settings.GetValue("Maintenance", typeof (String)) != null)
routes.MapRoute("Maintenance", "{*url}", new {controller = "Home", action = "Maintenance"});
}
catch (Exception)
{
}
// Algemene pagina routes
routes.MapRoute("over-stienstra", "over-stienstra", new {controller = "Home", action = "About"})
.SetRouteName("over-stienstra");
routes.MapRoute("voor-huurders", "voor-huurders", new {controller = "Home", action = "VoorHuurders"})
.SetRouteName("voor-huurders");
routes.MapRoute("contact", "contact", new {controller = "Home", action = "Contact"}).SetRouteName("contact");
routes.MapRoute("open-huis", "open-huis", new {controller = "Home", action = "OpenHuis"})
.SetRouteName("open-huis");
routes.MapRoute("werken-bij-stienstra", "werken-bij-stienstra",
new {controller = "WerkenBijStienstra", action = "Index"}).SetRouteName("werken-bij-stienstra");
routes.MapRoute("disclaimer", "disclaimer", new {controller = "Home", action = "Dislaimer"})
.SetRouteName("disclaimer");
routes.MapRoute("huurvoorwaarden", "huurvoorwaarden", new {controller = "Home", action = "Huurvoorwaarden"})
.SetRouteName("huurvoorwaarden");
routes.MapRoute("facebook", "facebook", new {controller = "Home", action = "Facebook"})
.SetRouteName("facebook");
// De routes voor recente nieuwbouw
routes.MapRoute("recente-nieuwbouw", "nieuwbouw-te-huur", new {controller = "Nieuwbouw", action = "Index"});
routes.MapRoute("recente-nieuwbouw-voordelen-van-huren", "nieuwbouw-te-huur/voordelen-van-huren",
new {controller = "Nieuwbouw", action = "Page", id = 1});
routes.MapRoute("recente-nieuwbouw-energiezuinig-wonen", "nieuwbouw-te-huur/energiezuinig-wonen",
new {controller = "Nieuwbouw", action = "Page", id = 2});
routes.MapRoute("recente-nieuwbouw-service-en-kwaliteit", "nieuwbouw-te-huur/service-en-kwaliteit",
new {controller = "Nieuwbouw", action = "Page", id = 3});
routes.MapRoute("recente-nieuwbouw-huurvoorwaarden", "nieuwbouw-te-huur/huurvoorwaarden",
new {controller = "Nieuwbouw", action = "Page", id = 4});
routes.MapRoute("mijn-woningen", "mijn-woningen", new {controller = "Home", action = "MijnWoningen"})
.SetRouteName("mijn-woningen");
// nieuwe SEO routes
routes.MapRoute("koop-woning", "koop/{stad}",
new {controller = "Woning", action = "WoningenIn", stad = UrlParameter.Optional, type = 1},
new[] {"Stienstra.Controllers"});
routes.MapRoute("huur-woning", "huur/{stad}",
new {controller = "Woning", action = "WoningenIn", stad = UrlParameter.Optional, type = 2},
new[] {"Stienstra.Controllers"});
routes.MapRoute("project-detail", "nieuwbouw-te-huur/project/{plaats}/{projectnaam}/{projectnummer}",
new {controller = "Nieuwbouw", action = "Project", projectnummer = typeof (string)});
routes.MapRoute("print-project-detail",
"nieuwbouw-te-huur/print-project/{plaats}/{projectnaam}/{projectnummer}",
new {controller = "Nieuwbouw", action = "Print", projectnummer = typeof (string)});
//afdrukken woning
routes.MapRoute("print-woning-detail", "print-woning/{id}/{plaats}/{straat}/{huisnummer}",
new {controller = "Woning", action = "Print"}, new[] {"Stienstra.Controllers"});
routes.MapRoute("GetAlert", "Home/Alert/{email}/{code}",
new {controller = "Home", action = "Alert", email = typeof (string), code = typeof (string)});
routes.MapRoute("DeleteAlert", "Home/DeleteAlert/{email}/{code}",
new {controller = "Home", action = "DeleteAlert", email = typeof (string), code = typeof (string)});
routes.MapRoute("ParariusXml", "xml/pararius.xml", new {controller = "XmlSource", action = "Pararius"});
routes.MapRoute("XML", "XmlSource/{action}", new {controller = "XmlSource", action = "Index"});
var db = new DataClassesDataContext();
routes.MapRoute("woning-route", "woning/{plaats}/{straat}/{huisnummer}",
new
{
controller = "Home",
action = "WoningDetails",
plaats = typeof (string),
straat = typeof (string),
huisnummer = UrlParameter.Optional
});
IQueryable<string> plaatsen = (from p in db.Wonings select p.itemPlaats).Distinct();
foreach (string plaats in plaatsen.Where(p => p != ""))
{
routes.MapRoute("Plaats" + plaats.Replace(" ", ""), plaats.Replace(" ", ""),
new {controller = "Home", action = "Stad", stad = plaats});
}
routes.MapRoute("Beheer", "Beheer", new {controller = "Woning", action = "Index", area = "Beheer"});
routes.MapRoute("BeheerZichtbaarheid", "Beheer/Woning/Visibility/{id}",
new {controller = "Woning", action = "Visibility", id = UrlParameter.Optional, area = "Beheer"});
routes.MapRoute("Paging", "{controller}/Woningen/{page}",
new {controller = "Home", action = "Woningen", page = UrlParameter.Optional});
routes.MapRoute("PlaatsenInDB", "Home/Plaatsen/{q}",
new {controller = "Home", action = "Plaatsen", q = UrlParameter.Optional});
routes.MapRoute("StratenInDB", "Home/Straten/{q}",
new {controller = "Home", action = "Straten", q = UrlParameter.Optional});
routes.MapRoute("Details", "Details/{id}", new {controller = "Home", action = "Details", id = typeof (long)});
routes.MapRoute("RemoveFilters", "RemoveFilter/{filter}",
new {controller = "Home", action = "RemoveFilter", filter = UrlParameter.Optional});
routes.MapRoute("Provincies", "Provincie/{provincie}",
new {controller = "Home", action = "Provincie", provincie = UrlParameter.Optional});
routes.MapRoute("DeleteFromProfile", "MijnWoningen/Vergeet/{id}",
new {controller = "Home", action = "Vergeet", id = UrlParameter.Optional});
routes.MapRoute("OverzichtWoningen", "Woningen", new {controller = "Home", action = "Woningen"});
routes.MapRoute("OverzichtWoningenOpenHuis", "OpenHuis", new {controller = "Home", action = "OpenHuis"});
routes.MapRoute("Kaart", "Kaart", new {controller = "Home", action = "Kaart"});
routes.MapRoute("KaartVanNederland", "KaartVanNederland",
new {controller = "Home", action = "KaartVanNederland"});
// maintenance *ALLEEN* voor homepage
routes.MapRoute("logout", "uitloggen", new {controller = "Account", action = "LogOff"});
// Digitaal Inschijfformulier voor huuraanvraag
routes.MapRoute("InschrijvenOpslaan", "Inschrijven/Save", new {controller = "Inschrijven", action = "Save"});
routes.MapRoute("InschrijvenOpgeslagen", "Inschrijven/Saved/{pandid}",
new {controller = "Inschrijven", action = "Saved", pandid = UrlParameter.Optional});
routes.MapRoute("Inschrijven", "Inschrijven/{pandid}",
new {controller = "Inschrijven", action = "Index", pandid = UrlParameter.Optional});
// Enquete, aantal dagen na invullen Digitaal Inschijfformulier voor huuraanvraag
routes.MapRoute("EnqueteOpslaan", "Enquete/Save", new {controller = "Enquete", action = "Save"});
routes.MapRoute("EnqueteOpgeslagen", "Enquete/Saved", new {controller = "Enquete", action = "Saved"});
routes.MapRoute("Enquete", "Enquete/{pandid}",
new {controller = "Enquete", action = "Index", pandid = UrlParameter.Optional});
try
{
var settings = new AppSettingsReader();
if (settings.GetValue("MaintenanceHomepageOnly", typeof (String)) != null)
routes.MapRoute("MaintenanceHomepageOnly", "{controller}/{action}",
new {controller = "Home", action = "Maintenance"});
}
catch (Exception)
{
}
routes.MapRoute(
"DefaultWithId", // Route name
"{controller}/{action}/{id}", // URL with parameters
new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
);
// end routes
}
}
}
코드를 보지 않아도됩니다. 경로 구성이 좋은 시작일 것입니다. – Stijn
해당 URL에 대한 경로가 있습니까? – DGibbs