gpt4 book ai didi

apache将单个子域映射到文件夹

转载 作者:行者123 更新时间:2023-12-03 23:34:13 24 4
gpt4 key购买 nike

在我的 /var/www我有许多站点(goodsite、badsite、unknownsite)。现在它们被 mydomain.com/goodsite 访问, 等等..

我想要的是一个特定的站点,丑陋的站点,可以通过 uglysite.mydomain.com 访问。 - 其他人保持原样。

我尝试了各种摆弄 the.htaccess 的方法(在 /var/www 中)。注意我启用了 mod-rewrite 和 mod vhost-alias。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/uglysite/
RewriteRule ^(.*)$ /uglysite/$1 [L]

最终发生的是 mydomain.com 和丑陋站点.mydomain.com 总是映射到同一事物 (即 /var/www 处的索引)。我尝试添加一个新的虚拟主机,并惊讶地发现丑陋站点.mydomain.com 映射正确,但随后 mydomain.com 也直接映射到了丑陋站点。
<Virtualhost uglysite.mydomain.com:80>
ServerName uglysite.mydomain.com
ServerAdmin www@localhost
DocumentRoot "/var/www/"
AccessFileName .htaccess
<Directory "/var/www/uglysite">
Order allow,deny
Allow from All
AllowOverride All
</Directory>
</VirtualHost>

以上内容已添加到我的网站启用/000-默认文件中。这让丑陋的网站.mydomain.com 正常工作,但随后 mydomain.com 映射到相同的东西!

有没有一种直接的方法可以做我想做的事情?提前致谢。

最佳答案

你应该把丑陋的网站变成第二个文件而不是修改 000-default

因此,复制 000-default 文件,更改子域,然后将目录修改为/path/to/site

000-默认:

<Virtualhost *:80>
ServerName mydomain.com
ServerAdmin www@localhost
ServerAlias mydomain.com
DocumentRoot "/var/www/goodsite"
AccessFileName .htaccess
<Directory "/var/www/goodiste">
Order allow,deny
Allow from All
AllowOverride All
</Directory>
</VirtualHost>

丑网站:
<Virtualhost *:80>
ServerName uglysite.mydomain.com
ServerAlias uglysite.mydomain.com
ServerAdmin www@localhost
DocumentRoot "/var/www/uglysite"
AccessFileName .htaccess
<Directory "/var/www/uglysite">
Order allow,deny
Allow from All
AllowOverride All
</Directory>
</VirtualHost>

另请注意,在上述示例中,我修改了 DocumentRoot指向您希望从中提供文件的目录

编辑:虚拟主机设置为 *:80 因为您的站点无论如何都指向您自己的 IP

关于apache将单个子域映射到文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com