Попытка решить эту проблему с помощью правила перезаписи, которое назначает поддомен корневому каталогу с тем же именем, например.
ddd.example.com будет ссылаться на каталог "/ _projects / ddd", который работает нормально, и у меня нет проблем с этим, проблема в том, что любые файлы или каталоги, которые у меня есть в корневом каталоге "/", доступны с субдомена ddd.example.com.
Вот пример структуры каталогов
example.com = "/"
ddd.example.com = "/ _projects / ddd"
Так что, если, например, я захожу на ddd.example.com/index.php, он разрешит использовать файл, расположенный на example.com/index.php, который находится в каталоге ниже.
Вот правило перезаписи для .htaccess
# Skip rewrite if subdomain is www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# Extract (required) subdomain to %1
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com(:80)?$
# Redirect to domain if requested URL does not resolve to existing subdirectory path
RewriteCond %{DOCUMENT_ROOT}/_projects/%1 !-d
RewriteRule (.*) http://example.com/ [NC,R=301]
# Skip rewrite if subdomain is www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# Extract (required) subdomain to %1
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com(:80)?$
# Skip rewrite if requested URL does not resolve to existing subdirectory path or file
RewriteCond %{DOCUMENT_ROOT}/_projects/%1/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/_projects/%1/$1 -d
RewriteRule (.*) /_projects/%1/$1 [NC,L]