OK, você deseja restringir o acesso a private projetos por endereço IP e você tem a seguinte estrutura de diretório:
DocumentRootis/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/publicproj1aswww.example.com/publicproj1and/var/www/html/private/privateproj1aswww.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