RewriteRule para fazer o subdomínio carregar outro DocumentRoot?

1

Eu poderia usar uma pequena ajuda com o que estou tentando fazer com um RewriteRule in .htaccess : ... faz com que os URLs que usam nosso subdomínio sharpedge. sejam carregados automaticamente a partir do diretório Internet_IE - um nível mais profundo que a raiz do site.

Eu tenho isso em httpd.conf :

[snip]
NameVirtualHost 11.22.33.44

<VirtualHost 11.22.33.44>
    Options All +ExecCGI
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/ourdomain.com
    ServerName ourdomain.com
    ServerAlias www.ourdomain.com
    DirectoryIndex index.htm index.html index.dna
    #---------------------------------
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    </IfModule>
    #---------------------------------
</VirtualHost>

<VirtualHost 11.22.33.44>
    Options All +ExecCGI
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/ourdomain.com
    ServerName  sharpedge.ourdomain.com
    DirectoryIndex index.htm index.html index.dna
    #---------------------------------
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    </IfModule>
    #---------------------------------
</VirtualHost>
[snip]

... e isso no .htaccess (na raiz do site, aqui: /var/www/html/ourdomain.com /)

Options -Indexes

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond   %{HTTP_HOST} ^sharpedge\.ourdomain\.com$
    # years ago this next line was used here, but in httpd.conf: (I don't know what it was supposed to do)
    # RewriteRule   ^(.+)        %{HTTP_HOST}$1          [C]
    RewriteRule   ^sharpedge\.ourdomain\.com(.*) /var/www/html/ourdomain.com/Internet_IE/$1  [L]
</IfModule>

.. mas nada acontece a partir do RewriteRule; é como se o RewriteRule não estivesse lá.

Eu aprecio muito todas as sugestões.

Edições:

  • Eu acabei de alterar o DocumentRoot para o diretório que realmente desejo veicular, mas preciso poder chamar (incluir) arquivos de dentro de arquivos nesse diretório com um prefixo / no caminho de inclusão, onde esses arquivos estão localizados na raiz do site. Esses arquivos também são chamados de outros arquivos que estão na raiz do site.
por govinda 31.07.2012 / 06:55

2 respostas

1

isso aconteceu:

RewriteCond %{HTTP_HOST} ^sharpedge\.ourdomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/Internet_IE/
RewriteRule ^(.*)$ /Internet_IE/$1 [L]

Obrigado a: link

    
por 31.07.2012 / 20:44
0

Você não precisa de uma regra de reescrita para isso. Apenas mude o DocumentRoot para o diretório que você deseja servir.

    
por 31.07.2012 / 08:16