Apache 多个域以显示另一个域上登录页的内容

Apache 多个域以显示另一个域上登录页的内容,apache,redirect,joomla,virtual-hosts,Apache,Redirect,Joomla,Virtual Hosts,我们在Joomla CMS系统上创建了一组登录页,每个登录页的URL是www.domain.com/page1.html和www.domain.com/page2.html,依此类推。当然,page1.html不是一个真正的html文件,它是一个动态CMS页面,只是用htaccess重写 目标是让我们的另一个域,比如www.uniquedomain1.com,显示www.domain.com/page1.html的内容。或者,另一个域(如www.uniquedomain2.html)显示www.

我们在Joomla CMS系统上创建了一组登录页,每个登录页的URL是www.domain.com/page1.html和www.domain.com/page2.html,依此类推。当然,page1.html不是一个真正的html文件,它是一个动态CMS页面,只是用htaccess重写

目标是让我们的另一个域,比如www.uniquedomain1.com,显示www.domain.com/page1.html的内容。或者,另一个域(如www.uniquedomain2.html)显示www.domain.com/page2.html的内容

这需要是搜索引擎友好,所以我们不能使用URL屏蔽。此外,我们不能使用HTACCESS重定向,因为这实际上会更改浏览器栏中的URL。需要在浏览器栏中保留www.uniquedomain1.com URL

在没有任何运气的情况下尝试了Apache VirtualHost选项。您可以在目录中停车,但不能从URL停车

最后将域停在一个文件夹中,然后创建一个PHP脚本来检测域主机,然后使用CURL查询正确的url并传递内容。这整件事看起来太复杂了,当然卷曲不是最好的选择,但这是我们能做的一切


有没有关于如何执行此操作的想法,或者更好的解决方案?

您可以使用HTACCESS重定向规则执行此操作,而无需执行重定向

将html文件名更改为所需域的域名,如
domain.tld
,并在
.htaccess
文件中执行类似操作

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?([a-z0-9\.-]+\.[a-z]+) [NC]
RewriteRule ^$ /%1.html [L]

对我的两个测试(子)域test.domain.tld和test2.domain.tld进行了快速测试。它们都正确地重定向到名为
test.domain.tld.html
test2.domain.tld.html
的文件,而无需修改URL。

您也可以使用PHP包装器脚本获取每个杂项html文件的内容并输出它们

如果您将所有HTML文件(如我之前建议的答案)重命名为
domain.tld.HTML
,您可以相当轻松地完成此操作。有些东西可能看起来像:

<?php

require($_SERVER['SERVER_NAME'] .'.html');

如果我错了,请纠正我的错误,但我相信php必须是一个物理文件。这些页面不是实际的HTML文件,它们只是CMS提供的动态页面。html是误导性的,它只是一个mod_重写。是的,这行不通。我误解了它是由cms生成的