Apache 多个域以显示另一个域上登录页的内容
我们在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并传递内容。这整件事看起来太复杂了,当然卷曲不是最好的选择,但这是我们能做的一切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.
有没有关于如何执行此操作的想法,或者更好的解决方案?您可以使用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生成的