Некоторые из моих сайтов размещены на общем сервере.Структура папок и назначение домена моего веб-пространства выглядит следующим образом:
directory assigned domain
-------------------------------------
/ x8967397.my-provider.com (default domain)
/dir_1/ www.my-first-domain.com = x8967397.my-provider.com/dir_1/
/dir_2/ www.my-second-domain.com = x8967397.my-provider.com/dir_2/
Домен x8967397.my-provider.com
является доменом по умолчанию, который входит в мой план хостинга.Он всегда указывает на корневой каталог моего веб-пространства и не может быть отключен или установлен в другую папку.В результате можно получить доступ к веб-сайту с URL-адресом www.my-first-domain.com
, запросив x8967397.my-provider.com/dir_1/
.То есть оба URL показывают один и тот же веб-сайт посетителю.
Я бы хотел заблокировать доступ к домену по умолчанию (x8967397.my-provider.com
), включая все файлы и директоры (например, x8967397.my-provider.com/file.html
и x8967397.my-provider.com/dir_1/
), не блокируя другие домены (например, www.my-first-domain.com
), но не знаю как.Если я заблокирую доступ к корневой папке в htaccess, используя Deny from all
, все домены станут недоступными.
Как я могу сказать моему веб-серверу запретить запросы к определенному домену , в этом случаедомен по умолчанию?
В основном что-то вроде этого:
<URL "x8967397.my-provider.com">
Deny from all
</URL>
Редактировать
В папках есть файлы .htaccess /dir_1/
и dir_2
, которые являются корневыми папками для пользовательских доменов www.my-first-domain.com
и www.my-second-domain.com
.Вот правила перезаписи из файла .htaccess одного из них:
RewriteEngine On
RewriteBase /
RewriteRule ^images/background\.png$ includes/adaptive-images.php
# redirects non-www to www
RewriteCond %{HTTP_HOST} ^my-first.domain\.com [NC]
RewriteRule (.*) http://www.my-first-domain.com/$1 [R=301,L]
# redirects /index.php to /
RewriteCond %{IS_SUBREQ} false
RewriteRule ^index\.php$ http://www.my-first-domain.com/ [R=301,L]
# redirects missing files and directories to home (instead of error document)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://www.my-first-domain.com/ [R=301,L]