0

我们在 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 并传递内容。整个事情看起来过于复杂了,当然 CURL 不是最好的选择,但这是我们可以开始工作的全部。

关于如何做到这一点或更好的解决方案的任何想法?

4

2 回答 2

0

您可以使用 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。

于 2013-05-01T00:11:18.380 回答
0

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

如果您将所有 HTML 文件(如我之前建议的答案)重命名为,那么domain.tld.html您可以很容易地做到这一点。可能看起来像:

<?php

require($_SERVER['SERVER_NAME'] .'.html');
于 2013-05-01T00:38:51.760 回答