1

今天我用 php 玩域,

例子

www.wordpress.com is our main site
www.friend1.com is my new domain
www.friend2.com is my new domain
www.friend3.com is my new domain

www.friend1.com the same as www.wordpress.com/profile/friend1 ?
www.friend2.com the same as www.wordpress.com/profile/friend3 ?
www.friend3.com the same as www.wordpress.com/profile/friend2 ?

wordpress 等如何做这样的事情?他们在服务器端这样做吗?还是有办法在 php 中做类似的事情?

*如果您仍然不明白,请编辑,

这是一个例子。假设您在 myfrienddeviantartid.devaintart.com 上有一个朋友 deviantart id,假设您是 deviantart 的管理员。您想制作一个插件服务,您的朋友可以将他自己的域名存放在 deviantart.com 中。

4

2 回答 2

0

这通常是在 Apache 的配置中使用 mod_rewrite 完成的。它重新映射 URL。

于 2011-03-04T18:37:19.253 回答
0
  • 对于 apache http 服务器,它使用来自 mod_proxy 的ProxyPassReverse指令或来自 mod_rewrite 的指令

指令 ProxyPassReverse 允许 Apache 调整 HTTP 重定向响应的 Location 标头中的 URL。例如,当 Apache 用作反向代理时,这是必不可少的,以避免由于后端服务器上的 HTTP 重定向而绕过反向代理,而后端服务器位于反向代理后面。

假设本地服务器地址为http://wibble.org/;然后

ProxyPass /mirror/foo/ http://foo.com/
ProxyPassReverse /mirror/foo/ http://foo.com/

不仅会导致对 http://wibble.org/mirror/foo/bar的本地请求在内部转换为对http://foo.com/bar的代理请求(ProxyPass 在此处提供的功能)。它还负责服务器 foo.com 发送的重定向:当http://foo.com/bar被他重定向到 http://foo.com/quux时, Apache 将其调整为 http://wibble.org/mirror /foo/quux在将 HTTP 重定向响应转发到客户端之前。

  • 对于 MS(R) IIS,使用重写模块:

轻松替换 Web 应用程序 URL 以产生用户和搜索引擎友好的结果。URL Rewrite 允许 Web 管理员轻松地将响应 HTML 中由 Web 应用程序生成的 URL 替换为对用户更友好且对搜索引擎更友好的等效项。可以在反向代理后面的 Web 应用程序生成的 HTML 标记中修改链接。URL 重写通过与 HTTP 请求和响应标头以及 IIS 服务器变量一起使用的出站重写规则,使出站响应内容和标头重写变得更加容易。

此外,您必须确保使用 DNS 提供商设置子域,以将所有请求传递给主域。

DNS 记录示例:

NAME                    TYPE   VALUE
--------------------------------------------------
exampleXYZ.com.         CNAME  example.com.
example.com.            A      192.0.2.23

参考:

  1. https://en.wikipedia.org/wiki/CNAME_record

  2. http://www.akadia.com/services/apache_redirect.html

  3. http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

  4. http://www.iis.net/downloads/microsoft/url-rewrite

于 2016-02-08T19:15:18.903 回答