我的意思是,当域映射时,将多个域指向一个ip-address,有一个主文件夹,/var/www/html
这里放置的索引文件将是直接搜索服务器时出现的内容通过ip-address或primarysite.com
,相当于/var/www/html/index.php
。
当我搜索secondarysite.com
时,这很可能由/var/www/html/secondarysite
表示,它不显示在网址栏中,显示的内容为secondsarysite.com
。但是你可以通过输入primarysite.com/secondarysite
来找到该文件夹,所以我不想看到它。
这是通过URL重写完成的吗?
这可以是永久性的,以便不在同一个IP上显示文件夹结构/多个域,除非直接通过域名请求吗?
答案 0 :(得分:0)
每个站点有一个目录更清晰。 (例如,您可以使用清理站点范围的备份)
您应该将主域vhost移动到/var/www/html/primarysite.com解决此问题吗?
如果你真的想把你的主站点保留为/ var / www / html,你必须编辑你的“主要虚拟主机”,/ etc / apache2 / sites-available / promimaysite.conf(或左右),并添加:< / p>
<Directory /secondarysite/>
deny from all
</Directory>
(也许你必须放入文件夹的绝对路径)
我真的不推荐这种方法,因为每次在服务器上添加网站时都必须记住这一点。将每个站点移动到自己的文件夹只能解决这个问题。
答案 1 :(得分:0)
如果我正确地阅读了您的问题,您正试图制作2个vHosts,文件夹结构中彼此无法访问?重写/ .htaccess可能是实现此目标的最佳方法。更清洁/更安全的方法是你可以让两个文件夹不在彼此之内(例如 / var / www / primarysite / public_html 和 / var / www / secondarysite / public_html )并使用apache配置为这些目录设置它们。
尝试将此添加到您的apache配置:
<VirtualHost *:80>
DocumentRoot /var/www/primarysite/public_html
ServerName primarysite.com
# Other configs
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/secondarysite/public_html
ServerName secondarysite.com
# Other configs
</VirtualHost>