2013-08-28 4 views
0

Я делаю тест решение только с 2 или 3 страниц, организованных в папках, как это:Использование пользовательских виртуальных путей

enter image description here

И когда я запустить приложение я получаю URL, как это:

enter image description here

Существует ли способ сохранить этот физический путь, но имеющие другой виртуальный путь

http://localhost:40300/Index.aspx 

без нечетного слова "Views"?

+1

Ну ... почему вы поместили его в папку Views в любом случае? Похож на структуру файла ASP.NET MVC с страницами WebForms ... – MikeSmithDev

+0

@MikeSmithDev Я просто хотел, чтобы были организованы представления. – user2725796

ответ

0

Посмотрите на URL Rewrite module для IIS. В качестве альтернативы, вы можете create a custom HTTP module, что перепишет виртуальный путь соответствующим образом:

public class MyRewriteHttpModule : IHttpModule 
{ 
    // ... 

    public void Init(HttpApplication app) 
    { 
    app.AuthenticateRequest += Application_AuthenticateRequest; 
    } 

    private void Application_AuthenticateRequest(object sender, EventArgs e) 
    { 
    var app = sender as HttpApplication; 
    var path = app.Request.Url.PathAndQuery; 

    if (!path.StartsWith("/Views/", StringComparison.OrdinalIgnoreCase)) 
     app.Context.RewritePath("/Views/" + path); 
    } 
} 
+0

Привет, для этого решения мне нужен доступ к IIS? Но у меня только есть доступ к публикации в ftp – user2725796

+0

@ user2725796 Я обновил свой ответ. – volpav

+0

К сожалению, я много работал. Я не провел сильного тестирования, но отлично работает. Отмечено как принятый ответ. С наилучшими пожеланиями! – user2725796

Смежные вопросы