none
Problema na geração das actions utilizando subdomínios. (erro 404) RRS feed

  • Pergunta

  • Olá pessoal, estou fazendo uns testes utilizando o ASP.NET MVC 2 no meu servidor asp.net e estou tendo um problema relativamente simples.
    No servidor eu criei uma aplicação que é acessível pelo endereço: http://www.meuhost.com/myapp.

    Todas as actions que o Framework MVC gera é baseado no diretório da aplicação, então ele sempre gera actions no formato: /myapp/controller/action, até aqui tudo bem.

    Sendo que eu quero que minha aplicação seja chamada através de um subdominio da seguinte forma: http://myapp.meuhost.com/, porém as actions continuam sendo geradas baseadas no diretório da aplicação, ou seja, não vai funcionar com o subdomínio. Alguém sabe o que eu devo mudar para as actions sejam geradas sem o "/myapp", eu quero que ele traduza as actions em "/controller/action".
    terça-feira, 16 de março de 2010 19:31

Todas as Respostas

  • Olá,

    Você esta utilizando os Helpers para montar os links?
    Estou perguntando isso porque eu testei esse cénario com IIS  7 e funcionou normalmente.
    Abraços,
    Daniel Fonseca Castro
    www.danielfonsecacastro.com.br
    quarta-feira, 17 de março de 2010 04:07
  • Opa, valeu pela resposta Daniel.

    Então, eu estou usando os Helpers sim, eles funcionam desde que eu acesse e aplicação pelo seu endereço original: http://www.meuhost.com/myapp, o problema é que eu queria acessar usando subdomínio.

    <%= Html.ActionLink("About", "About", "Home") %>
    Esse trecho de código acima sempre gera o seguinte caminho relativo: /myapp/Home/About, quando na verdade eu queria que ele ignorasse o VirtualPath gerando só /Home/About já que eu pretendo acessar por "myapp.meuhost.com".

    Uma informação que talvez seja relevante, estou testando isso hospedando no webhost4life.com, eles usam o IIS7 também
    quarta-feira, 17 de março de 2010 12:17
  • Mais alguns detalhes para quem quiser tentar me ajudar.

    minha aplicação no caminho original: http://keitarosan.webhost4life.com/myapp/
    como vocês podem ver, é aquela aplicação básica de exemplo quando se cria um novo projeto MVC.

    O caminho dela com subdominio: http://myapp.programmingland.org/ (acabei de fazer umas configurações no DNS para criar esse subdominio, entao pode ser que não esteja acessível ainda)

    arquivos utilizados no deploy: http://keitarosan.webhost4life.com/myapp.rar

    Eu contratei o serviço de hospedagem da webhost4life há menos de uma semana e estou fazendo alguns testes, mas não tenho ficado muito feliz com os resultados não, pois a aplicação está extremamente instável e sempre que eu tento fazer um upload de arquivo aplicação, ela sai do ar.

    Se alguém utilizar algum outro servidor asp.net que suporte asp.net mvc e utilize IIS7, to aceitando recomendações :)
    Inclusive poderia hospedar essa aplicação de teste que estou rodando só para eu ver rodando antes de contratar os serviços, se não for pedir muito. :D

    Grato desde já,
    Leandro
    quarta-feira, 17 de março de 2010 12:49
  • Olá,

    Nós testes que fiz eu também utilizei o projeto padrão e funcionou legal a unica diferença é a hospedagem eu utilizei o Godaddy.
    Abraços,
    Daniel Fonseca Castro
    www.danielfonsecacastro.com.br
    quinta-feira, 18 de março de 2010 11:42
  • Nossa, que diferença hospedar no GoDaddy, muito mais rápido e muito melhor :D

     

    Agora eu não tomo mais erro 404, ele continua montando a url com o nome do VirtualPath, mas consegue resolver sem problemas, vou dar um jeito de tirar esse VirtualPath da jogada pq fica feio demais.

     

    http://myapp.programmingland.org/ aponta para o subdiretorio /mvc, deveria gerar as actions assim: http://myapp.programmingland.org/Home/About, inclusive ele aceita esse caminho, mas gera http://myapp.programmingland.org/mvc/Home/About

     

    Bom, vou continuar quebrando a cabeça com isso :D

    sexta-feira, 19 de março de 2010 12:08
  • Olá,

    Alguma solução para este problema?
    Também estou com este problema, ou com um muito parecido.

    Estou hospedado na Locaweb, tenho um domain "cliente.com.br" por exemplo que está configurado para ser um Site Adicional da LOCAWEB..
    Na estrutura de pastas ficou: web\pastaCliente recebendo o domain cliente.com.br....
    Quando utilizo ResolveUrl, ele está gerando o caminho correto que é cliente.com.br/Scripts (por exemplo), mas quando utilizo um ActionLink ele está criando da seguinte maneira cliente.com.br/pastaCliente/controller/action

    Preciso que o ActionLink gere apenas cliente.com.br/controller/action, alguem sabe como resolver este problema??

    Att.
    Leonardo Lima

    sexta-feira, 28 de janeiro de 2011 11:30
  • Vcs conseguiram resolver esse problema?

    Caso  não tenha resolvido, derem uma olhada no arquivo Global.asax, esse arquivo monta o caminho, onde chamará a página.


    Eliza
    segunda-feira, 7 de fevereiro de 2011 16:03