将不同的页面托管在一起

将不同的页面托管在一起

假设我在不同的主机上分别有 5 个网站。

例如,我想为每个页面创建一个页面,但将它们全部托管在一个托管的子域下。

www.site1.com -> 在托管 A www.site2.com -> 在托管 B www.site3.com -> 在托管 C www.site4.com -> 在托管 D

www.site5.com -> 在托管 E

假设我在不同的主机上分别有 5 个网站。

例如,我想为每个页面创建一个页面,但将它们全部托管在一个托管的子域下。

www.site1.com -> 在托管 A www.site2.com -> 在托管 B www.site3.com -> 在托管 C www.site4.com -> 在托管 D

www.site5.com -> 在托管 E

所以 :

访问 www.site1.com 应该会带您进入主机 A 中的内容,但如果您访问 www.site1.com/pageZ 应该会带您进入主机 E 中的 pages.site5.com/pageZ(但您仍然会看到相同的 URL)

其余的也一样...www.site2.com/pageY 应该会带您到 pages.site5.com/pageY 中的内容。

我怎样才能做到这一点 ?

答案1

Apache mod_rewrite 适合您,“重写”方法与正则表达式相结合应该可以完美满足您的需求

例如,在主机 A 的公共目录中创建一个“.htaccess”文件

插入以下行:

<IfModule mod_rewrite.c>
    RewriteEngine On

    # redirect pageZ to http://pages.site5.com/pageZ
    # http://www.site1.com/pageZ redir to http://pages.site5.com/pageZ
    RewriteRule ^(pageZ)$  http://pages.site5.com/$1

    # redirect pageY to http://pages.site5.com/pageY
    RewriteRule ^(pageY)$  http://pages.site5.com/$1

    # calling any url starting with "page" and followed by any caracter
    RewriteCond %{REQUEST_URI} ^(page.)$
    # then redirect the uri to the following
    RewriteRule ^(.*)$ http://pages.site5.com/$1 [L]

</IfModule>

您可以在此处找到指南:https://httpd.apache.org/docs/2.0/misc/rewriteguide.html

相关内容