OK, você deseja restringir o acesso a private
projetos por endereço IP e você tem a seguinte estrutura de diretório:
DocumentRoot
is/var/www
- public projects are under
/var/www/public
- private projects are under
/var/www/private
Então, no seu arquivo de configuração do Apache ( httpd.conf
), adicione uma diretiva <Directory>
como:
<Directory /var/www/private>
Order deny,allow
Deny from all
Allow from 10.0.0.0/24
</Directory>
e tudo sob esse diretório só será acessível se você estiver vindo da (s) rede (s) permitida (s). (Existem outras maneiras de especificar também os hosts Allow
ed ).
My domain is
www.example.com
.
I want to reach/var/www/html/public/publicproj1
aswww.example.com/publicproj1
and/var/www/html/private/privateproj1
aswww.example.com/privateproj1
Isso é um pouco mais difícil. Você precisará de regras de reescrita ou de uma diretiva Alias
para cada projeto. Como você observou, essa não é uma situação ideal, então vamos ver algumas outras opções.
Configurado como descrevi acima com a estrutura de diretórios que você tem, você poderá acessar os diretórios como www.example.com/public/proj1
e www.example.com/private/proj1
fora da caixa.
Se isso funciona para você, está feito.
Se essa não for uma solução boa o suficiente, considere mover seus projetos públicos para que eles fiquem diretamente abaixo de /var/www/html
- seus projetos públicos seriam acessíveis como www.example.com/publicproj1
e seus projetos privados ficariam acessíveis com o /private/
bit added in. (Presumivelmente, você não se importa muito com um pouco feio na URL de um projeto "privado", e isso evita a necessidade de fazer qualquer Alias
ing para seu material público).
Com relação à página inicial, você pode mostrar o conteúdo da pasta startingpage
se www.example.com
for solicitado com as seguintes regras:
RewriteEngine On
# Don't apply to URLs that go to existing files or folders.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Only apply to URLs that aren't already under folder.
RewriteCond %{REQUEST_URI} !^/startingpage/
RewriteRule ^(.*)$ /startingpage/$1