Migrando um subdomínio para um subdiretório, enquanto é executado em um servidor separado

3

Atualmente, estou trabalhando em um site hospedado em dois servidores diferentes. Um servidor hospeda o site principal (example.co.uk), o outro servidor hospeda um aplicativo de comércio eletrônico (Magento) e está atualmente acessível em shop.example.co.uk.

Tenho acesso total ao servidor que hospeda o site de comércio eletrônico e acesso total à configuração do domínio; no entanto, o site principal está hospedado em hospedagem compartilhada e o único acesso que tenho é através do FTP.

Sem mover o aplicativo de comércio eletrônico para a hospedagem compartilhada, existe alguma maneira nessa configuração de podermos ter o site de comércio eletrônico acessível via example.co.uk/shop e apenas este URL? Queremos apenas que o acesso seja do subdiretório (por motivos de SEO), portanto, entrar no domínio shop.example.co.uk deve redirecionar para example.co.uk/shop.

Atualmente estou tentando verificar se o mod_proxy está disponível no host compartilhado, embora pareça improvável. Essa seria a única maneira de fazer isso?

EDIT: Obrigado por todas as respostas até agora. Para explicar um pouco o raciocínio, isso é para um cliente, que deseja hospedar o site principal, pois é desenvolvido e gerenciado por uma empresa separada.

    
por Ross Bearman 06.04.2011 / 14:46

4 respostas

1

mod_proxy é de fato a solução mais viável que eu posso imaginar no momento, se você quiser manter esses sites fisicamente separados. Basicamente, é um exemplo de livro-texto para o RewriteRule 'sinalizador [P] :

Given Rule                                      Resulting Substitution
----------------------------------------------  ----------------------------------
^/somepath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
                                                via internal proxy

Como Richard mencionou, ao fundir esses dois sites fisicamente juntos, você pode evitar criar problemas desnecessários no caminho e, nesse caso, provavelmente serviria melhor a longo prazo executar.

Apesar de alguma ideia estranha que tive - se mod_proxy support for um problema e você não puder fazer nada sobre isso em seus hosts compartilhados, por que não mudar as funções?

Vamos tornar seu servidor de comércio eletrônico o servidor principal que veicula todo o conteúdo em example.co.uk por meio de um proxy para seu host compartilhado ( agora usando algum outro nome de domínio fictício - como site.example.co.uk ) e example.co.uk/shop diretamente. Em seguida, redirecione todos os tráfegos não-proxy que estiverem acessando site.exemplo.com.br para exemplo.com.br .

A pergunta permanece - por que, em primeiro lugar? Se você está indo até onde isso, basta mover todo o site para o servidor de comércio eletrônico seria mais razoável. Especialmente no caso de você estar atingindo algumas restrições de recursos no servidor de comércio eletrônico . Além de adicionar um pouco de latência ao proxy tudo isso parece realmente desnecessário. A única situação em que consigo pensar em como isso seria útil é se você tiver um conjunto de conjuntos de ferramentas / ambiente muito dedicado em seu host compartilhado que seja difícil de replicar no seu servidor de comércio eletrônico . Mas, para ser honesto, duvido que seja o caso.

Por favor, explique um pouco mais sobre qual é o seu raciocínio para manter esses sites separados. Talvez possamos encontrar uma solução melhor para atender às suas necessidades subjacentes.

    
por 06.04.2011 / 15:13
0

Se você está preparado para passar pela dor de modificar sua instalação do magento, então sim, você pode fazer isso

você terá que passar pelo magento config / database e atualizar qualquer referência de shop.example.com para example.com/shop (você terá que fazer isso se quiser usar redirecionamentos 301 de shop.example.com )

Dessa forma, você pode movê-lo para o subdiretório e, em seguida, mover o seu site principal para o diretório principal e importar todo o site (você terá que fazer isso se não puder fazer o proxy reverso que duvido que um host compartilhado faça para você)

assim que terminar, basta criar um redirecionamento 301 padrão de shop.example.com para example.com/shop

também não se esqueça, a menos que você tenha um ssl curinga ou um SSL para o domínio e o subdomínio para o qual você precisará de um novo certificado ssl

    
por 06.04.2011 / 14:54
0

Infelizmente, não há uma maneira fácil de conseguir isso, o método domain.com/shop assume que / shop é uma pasta local e não uma pasta remota. Você pode usar vários métodos .htaccess para redirecionar clientes ou mascarar a URL, mas isso provavelmente causaria mais problemas para você em termos de otimização de mecanismos de pesquisa. Existe uma razão específica pela qual você não pode mesclar os dois servidores para usar o formato de URL desejado?

Se os dois servidores estiverem na mesma rede, você poderá considerar uma conexão iscsi / nfs entre os dois, permitindo que a pasta remota se torne a pasta 'local' (link simbólico).

    
por 06.04.2011 / 14:57
0

Se você tiver mod_proxy disponível em sua hospedagem compartilhada, juntamente com mod_rewrite , poderá usar algo como:

RewriteEngine On
RewriteRule ^shop/(.*)$ http://shop.example.co.uk/$1 [P]

[P] sendo o sinalizador de proxy que exige mod_proxy , que deve permitir que sua função de site de comércio eletrônico seja como está (não estou familiarizado com o Magento) como as Solicitações que estão obtendo esse servidor deve ser o mesmo de antes.

No entanto, isso não impede o acesso link diretamente, que você provavelmente desejaria abordar também.

Espero que isso ajude.

    
por 06.04.2011 / 15:13