我一直在寻找一段时间来找到完成以下系统的解决方案。
我想构建一个PHP系统,比如说domainA。在这个域名上,我将允许管理员“创建”一个新网站。该网站仅包含文本片段,这些文本都存储在数据库中。这个,我知道怎么做。
但是,现在我想让访问域名B的访问者无形地重定向到例如domainA.com/gateway.php?refdomain=domainB&page=xxx或类似内容。 我有一个模糊的想法,这应该由.htaccess完成,但我真的不知道如何以最简单的方式做到这一点。例如,如果在domainB上有一些POST或GET请求,这应该继续工作。此外,与http://www.domainB.com/test.gif相关联的图片也应无形地加载到www.domainA.com。
我也知道有一些CMS系统(例如drupal)允许这个功能,所以有可能,我只是不知道如何。
感谢您提出任何可能指向正确方向的建议, 亲切的问候, 数字
答案 0 :(得分:2)
你是否在同一台机器上托管这两个?如果是这样,像Apache中的VirtualHosts这样的东西可以为你解决这个问题。
mod_alias和mod_rewrite也可能对你有用。
答案 1 :(得分:0)
如果您使用像Drupal这样的CMS,您应该能够使用Portal Alias分配这些。通过使用别名,您将能够指定不同的域以指向创建的不同“站点”。
答案 2 :(得分:0)
基本上,您需要将所有域指向同一目录(可能在vhosts中使用通配符),然后设置urlrewrite;查看this question示例,它可以是.htaccess文件或Apache配置。
所有进入的请求都会转到同一个gateway.php,您可以使用$_SERVER['REDIRECT_QUERY_STRING']
,$_SERVER['REQUEST_URI']
和$ _SERVER['SERVER_NAME']
来提取当前域和请求。见$_SERVER
。然后,您就可以在gateway.php中发送正确的文件。
答案 3 :(得分:0)
好的,这是一个非常简单的例子:
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domainA\.com
RewriteRule (.*) http://www.domainA.com/gateway.php?realpath=$1 [L,QSA]
然后,您可以使用parse_url在网关脚本中解析“realpath”并执行相应的操作。
如果你想
,你的重写规则会变得更复杂,以便为图像分别设置等答案 4 :(得分:-1)
您可以使用重定向标头..