Domínio principal do host de uma subpasta [fechado]

3

Estou tendo um problema em fazer com que um subdiretório atue como o public_html para meu domínio principal e obtenha uma solução que também funcione com esses subdiretórios de domínios.

Minha hospedagem me permite hospedar vários sites, que estão funcionando muito bem. Eu configurei uma subpasta no meu diretório ~ / public_html / chamado / domains / , onde eu cria uma pasta para cada site separado. por exemplo,

  • public_html
    • domínios
      • websiteone
      • websitetwo
      • websitethree
      • ...

Isso mantém meus sites bonitos e organizados. O único problema era conseguir que meu "domínio principal" se encaixasse nesse sistema. Parece que o meu domínio principal, de alguma forma, está ligado à minha conta (ou ao Apache, ou algo assim), por isso não posso alterar a "raiz do documento" deste domínio. Eu posso definir as raízes do documento para quaisquer outros domínios ("Addon Domains") que eu adiciono no cPanel sem problemas. Mas o domínio principal é diferente.

Foi-me dito para editar o arquivo .htaccess, para redirecionar o domínio principal para um subdiretório. Isso pareceu funcionar muito bem, e meu site funciona bem em sua página inicial / de índice.

O problema que estou tendo é que se eu tentar navegar no meu navegador para dizer a pasta de imagens (apenas por exemplo) do meu site principal, assim:

www.yourmaindomain.com/images/

então parece ignorar o redirecionamento e mostra todo o diretório do servidor no URL, assim:

www.yourmaindomain.com/domains/yourmaindomain/images/

Ele ainda mostra a página "Index of / images" correta e mostra a lista de todas as minhas imagens.

Aqui está um exemplo do meu arquivo .htaccess que estou usando:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domains/yourmaindomain/$1

RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L]

Este arquivo htaccess parece correto? Eu só preciso fazer com que meu domínio principal se comporte como um domínio addon, e seus subdiretórios aderem às regras de redirecionamento.

    
por Adam Harte 07.06.2010 / 06:13

2 respostas

1

Eu chamaria um rogue DirectorySlash .

  1. Isso só acontece com diretórios?
  2. Isso ocorre somente quando não há barra final (por exemplo, /images vai para /domain/yourdomain/images/ , mas /images/ está correto)?

Nesse caso, existem três opções:

  1. Verifique se todos os links têm a barra final ( / )
  2. Defina DirectorySlash off (você será direcionado para páginas duplas / dirs, do ponto de vista de SEO, não uma boa).
  3. Tente adicionar a RewriteRule antes do seu último index.html one: (pensado na hora, não sei se vai funcionar)

    RewriteCond %{REQUEST_FILENAME} -d  
    RewriteCond %{REQUEST_FILENAME} !/$  
    RewriteRule ^(.*) $1/  
    
por 07.06.2010 / 22:29
0

Um dos seus problemas é o seu Regex: você não está <> em escapando do seu ponto. Isso significa que será considerado "qualquer personagem" em vez de apenas um ponto. Em vez de

^(www.)?domain.tld$

você precisará ter

^(www\.)?domain\.tld$
    
por 05.08.2014 / 15:09