我有一个问题。
我正在尝试在我的主机上设置1个域的TEST,CERT和PROD网站空间 问题是我已经在我的网页中使用子域名,因此无法进行DNS通配符记录配置。
该网址在PROD上显示如下:
company1.domain.com
或 company2.domain.com
两者都指向托管上的同一目录。
我想要达到的目标是:
company1.domain.com
- >指向目录1
company1.test.domain.com
- >指向目录2
company1.cert.domain.com
- >指向目录3
“company1”必须是通配符。 另外,我不希望看到URL中显示的目录。
任何人都知道如何做到这一点?
我应该删除现有的DNS通配符记录吗?
答案 0 :(得分:1)
理想情况下,您应该将每个子域都设置为单独的vhost,并将每个vhost指向其自己的目录。有些托管公司甚至允许您将子域分配到不同的目录。
但是如果出于某种原因,他们都需要指向同一个文档根目录,请尝试将这些规则添加到文档根目录中的htaccess文件中:
RewriteEngine On
# for company1
RewriteCond %{HTTP_HOST} company1.domain.com [NC]
RewriteCond %{REQUEST_URI} !^/directory1
RewriteRule ^(.*)$ /directory1/$1 [L]
# for company1.test
RewriteCond %{HTTP_HOST} company1.test.domain.com [NC]
RewriteCond %{REQUEST_URI} !^/directory2
RewriteRule ^(.*)$ /directory2/$1 [L]
# for company1.cert
RewriteCond %{HTTP_HOST} company1.cert.domain.com [NC]
RewriteCond %{REQUEST_URI} !^/directory3
RewriteRule ^(.*)$ /directory3/$1 [L]