Exibe a página PHP na raiz da Web, mas mostra o conteúdo em subdiretórios

1

Eu tenho um site em um servidor de hospedagem compartilhada. Meu layout de diretório se parece com isso

/home
    /user
        /public_html
            /pics
                /family

Existe um arquivo index.php em public_html. Preciso de ajuda para escrever regras de .htaccess que

  1. Sirva o arquivo index.php quando o site www.domain.org é solicitado
  2. Forçar o usuário a voltar para public_html quando www.domain.org/pics for solicitado
  3. Permitir que o usuário veja o conteúdo do diretório quando www.domain.org/pics/family for solicitado

Eu experimentei muitas combinações de RewriteCond e RewriteRule, mas eu não entendo bem a documentação e os exemplos para saber se o que eu quero fazer é mesmo possível.

O aplicativo do servidor da Web é uma versão do Apache.

    
por MountainRider 14.11.2011 / 18:00

2 respostas

0

Eu coloquei isso em public_html / .htaccess

RewriteEngine On
RewriteCond %{REQUEST_URI} "/pics/" [OR]
RewriteCond %{REQUEST_URI} "/pics/family/"
RewriteRule (.*) $1 [L]

Não há nada em public_html / pics / .htaccess
Eu coloquei isso em public_html / pics / family / .htaccess

Options +Indexes

Eu removi index.html.

Depois disso, tudo funcionou do jeito que eu queria que funcionasse. Eu tive a idéia de esta documentação do Drupal .

    
por 03.12.2011 / 21:38
1

1) Você pode obter este gratuitamente adicionando um DirectoryIndex index.php no seu arquivo .htaccess que está em public_html.

2) Para reencaminhar pedidos para / pics, pode utilizar este conjunto de regras de reescrita:

RewriteRule ^pics/?$ http://www.domain.org/ [R,L]

3) Você precisará usar o com Opções:

<Directory "/home/user/public_html/pics/family">
    Options Indexes
</Directory>

Você precisará certificar-se no seu servidor web conf ou virtualhost conf de que você pode substituir opções em seus arquivos .htaccess. Algo como AllowOverride All ou AllowOverride Indexes . Observe também que, com o número 2, as pessoas ainda poderão acessar os arquivos em fotos, por exemplo link , mas será redirecionado se você tentar acessar o diretório.

    
por 14.11.2011 / 18:27