Существует большое разнообразие способов, которыми это может быть выполнено, но наиболее распространенные два:
sudo -u _mysql mysqld
или это грубо эквивалентно. Хорошо, поэтому вы хотите ограничить доступ к частным
проектам по IP-адресу, и у вас есть следующая структура каталогов:
DocumentRoot
-/ var / www
- публичные проекты находятся в
/ var / www / public
- частные проекты находятся в
/ var / www / private
Итак, в вашем файле конфигурации Apache ( httpd.conf
) добавьте директиву
, например:
<Directory /var/www/private>
Order deny,allow
Deny from all
Allow from 10.0.0.0/24
</Directory>
, и все, что находится в этом каталоге, будет доступно только в том случае, если вы заходите из разрешенных сетей. (Есть и другие способы указать Разрешить
хосты ).
Мой домен -
www.example.com
.
Я хочу получить доступ к/ var / www / html / public / publicproj1
какwww.example.com/publicproj1
и/ var / www / html / private / privateproj1
какwww.example.com/privateproj1
Это немного сложнее. Вам потребуются правила перезаписи или директива Alias
для каждого проекта. Как вы отметили, это не идеальная ситуация, поэтому давайте рассмотрим некоторые другие варианты.
Настроенный, как я описал выше, с имеющейся у вас структурой каталогов, вы сможете получить доступ к каталогам как www.example.com/ public / proj1
и www.example.com/private/proj1
прямо из коробки.
If that works for you you're done.
If that's not a good enough solution, consider moving your public projects so they're directly under /var/www/html
-- your public projects would then be accessible as www.example.com/publicproj1
, and your private projects would be accessible with the /private/
bit added in. (Presumably you don't care so much about a little ugly in the URL of a "private" project, and this avoids the need to do any Alias
ing for your public stuff).
Regarding the starting page, you can show content of startingpage
folder if www.example.com
is requested with the following rules:
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
Почему вы не можете ограничить эти папки с помощью метода защиты паролем .htaccess?
http://viralpatel.net/blogs/password-protect-your-webpages-using-htaccess/