【问题标题】:Rewrite domain.com/sub/ to sub.domain.com on other server将 domain.com/sub/ 重写为其他服务器上的 sub.domain.com
【发布时间】:2013-08-06 02:56:46
【问题描述】:

我看到很多关于从 sub.domain.com 重写到本地 domain.com/sub/ 文件夹的问题,但没有找到任何其他方向的重写。

请记住,sub.domain.comdomain.com 不在同一台服务器上。

当用户访问domain.com/sub/ 时,这实际上必须将他们指向sub.domain.com 而没有重定向。

这可能吗?

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    domain.com 上通过httpd.conf 启用mod_rewrite 和.htaccess,然后将此代码放在.htaccess 下的DOCUMENT_ROOT 目录下:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
    RewriteRule ^sub(/.*|)$ http://sub.domain.com$1 [L,R=301,NC]
    

    更新

    根据 cmets,如果您不想更改原始 URL: 这将要求您在 domain.com 上启用 mod_proxy

    RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
    RewriteRule ^sub(/.*|)$ http://sub.domain.com$1 [L,P,NC]
    

    【讨论】:

    • 我想知道是否可以重写而不是 301 重定向,所以domain.com/sub/ 在地址栏中仍然可见,而sub.domain.com 是显示的内容
    • 这是可能,但是您需要在domain.com Apache 上启用 mod_proxy
    • 非常感谢!我将不得不调查任何可能的风险。您是否有一个示例说明启用mod_proxy 后我的domain.com/sub/.htaccess 文件会是什么样子?
    • 不客气!我也提供了基于 mod_proxy 的答案。
    • 效果很好,可能是也可能不是我的最终解决方案,但我感谢您抽出时间帮助我今天学习新东西!
    猜你喜欢
    • 2017-09-02
    • 2011-09-04
    • 1970-01-01
    • 2017-12-08
    • 2012-03-17
    • 2012-05-25
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    相关资源
    最近更新 更多