使用 .htaccess 将域名指向子目录

使用 .htaccess 将域名指向子目录

我在一个主域下有一个服务器,我想将另一个域指向 /example/index.php 来创建另一个站点。

我可以用 .htaccess 来做到这一点吗?

干杯

答案1

不,.htaccess 是用于其他用途的。
您需要的是:
1. 告诉您的域名注册商服务器位于何处(IP 地址)。2
. 修改特定域名的 Web 服务器配置(如果是 Apache,请谷歌搜索虚拟主机)。3
. 等待 DNS 在全球范围内更新您的域名 IP 地址。

答案2

您可以使用虚拟主机功能拥有两个不同的站点,例如(只是更大配置的一部分......)

<VirtualHost *>
ServerName fct
DocumentRoot /home/mas/www/fct
</VirtualHost> 

<VirtualHost *>
ServerName frodch
DocumentRoot /home/mas/www/frodch
</VirtualHost> 

如果你想将一个站点的层次结构的一部分引用为另一个站点,也可以用同样的方式,例如上面的第二个条目可以是

<VirtualHost *>
ServerName frodch
DocumentRoot /home/mas/www/fct/frodch
</VirtualHost>

但是,根据网站的设计,这可能会导致效果不佳,因为“frodch”层次结构中的页面可能仍然具有定义为本地的链接,指向不在 frodch 层次结构中的资源(可能是 /img/... 或 /contacts.php 等等),并且这些资源将无法访问。

一种更简单的方法是不在 Web 主机上定义新域名,而是使用域名主机功能,例如,将新域名的 HTTP 重定向到主域名的子目录。这样,选择新域名的用户将到达较大网站的相应子目录页面,但仍在较大网站内,因此所有链接和资源都照常可用。

答案3

使用.htaccess 和 mod_rewrite 应该可以实现 (需要 apache webserver)。

在你的 .htaccess 文件中放入类似的内容。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^exampledomain.com$
RewriteRule ^/(.*)$ http://exampledomain.com/exampledirectory/$1

相关内容