![使用 .htaccess 将域名指向子目录](https://linux22.com/image/489975/%E4%BD%BF%E7%94%A8%20.htaccess%20%E5%B0%86%E5%9F%9F%E5%90%8D%E6%8C%87%E5%90%91%E5%AD%90%E7%9B%AE%E5%BD%95.png)
我在一个主域下有一个服务器,我想将另一个域指向 /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