从另一个域重定向到子域而不更改其 URL

问题描述 投票:0回答:5

我有一个项目,用户可以在其中创建自己的配置文件。配置文件将具有子域 URL,例如

robert.blogger.com
。因此,如果该用户拥有自己的一些域,例如
robert.com
。 然后我希望对
robert.com
的每个请求都重定向到
robert.blogger.com
而不更改 URL。

URL 应显示

robert.com/home.html
robert.com/aboutus.html
等,但实际上代码应从
robert.blogger.com/index.html
robert.com/aboutus.html
等运行。

这可能吗?如果是这样,该怎么办?

php .htaccess blogs http-redirect
5个回答
0
投票

这不是用 php 完成的。

实现此目的的最佳方法是通过 HTACCESS 重定向。或者,这可以通过 DNS A 记录来完成,但需要提升访问权限。

将名为 (.htaccess) 的文件放置在包含以下内容的域的根目录中:

重写引擎开启
RewriteRule * subdomain.domain.com [L]


0
投票

除非使用curl,否则在php 中不可能。 您需要设置通配符 DNS 记录以捕获所有子域并发送 将它们发送给您的网络服务器。 然后你需要设置 Apache 来捕获 所有指定的虚拟主机并将其发送到 目录。


0
投票

我只想使用 header 函数。 header("位置:http://"$user_name."blogger.com");


0
投票

这会起作用

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domainname.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domainname.com
RewriteRule ^(.*) user/user.php?username=%1
ErrorDocument 404 /notfound.php
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

0
投票

如果您控制托管域“robert.com”的服务器,则必须允许跨源请求,然后设置反向代理。

# for user robert
location / {
    proxy_pass http://robert.blogger.com
}

有多种方法可以捕获主机并替换用户,但您应该能够从这里找到如何做到这一点。

    

© www.soinside.com 2019 - 2024. All rights reserved.