【问题标题】:How to redirect subdomain to main domain maintaining the same URL?如何将子域重定向到保持相同 URL 的主域?
【发布时间】:2011-05-25 11:30:55
【问题描述】:

我的主域 (www.mysite.com) 指向我服务器中的一个文件夹 (/home/user_name/htdocs/mysite.com)。

我最近通过我的托管帐户创建了一个子域 (m.mysite.com)。但它指向我服务器中的一个新文件夹(/home/user_name/htdocs/m.mysite.com)。我无法编辑这个新子域指向的路径。我的所有文件都托管在我的主文件夹路径中。

我的要求 -

当用户访问 m.mysite.com 时,他应该被重定向到 mysite.com 但浏览器中的 URL 仍然应该是 m.mysite.com
我正在通过使用 $_SERVER['SERVER_NAME']

检测子域来处理移动视图

【问题讨论】:

  • I am not able to edit the path to which this new subdomain points to. 告诉我这是一个 ISP 问题,因为没有理由这样做。联系他们。
  • 由于我使用的是免费托管帐户,因此他们不允许我编辑该路径。

标签: php apache url .htaccess subdomain


【解决方案1】:

我认为您可以在 m.mysite.com 下设置一个 htaccess 文件,并使用 RewriteRule 将所有请求指向不同的 URL。

RewriteEngine On
RewriteRule ^(.*)$ http://www.mysite.com/$1

【讨论】:

  • 感谢您的回答。使用该 .htaccess,浏览器中的 URL 将更改为 www.mysite.com。但我希望浏览器显示 m.mysite.com,以便我可以在我的网络应用程序中检测到这个子域并相应地显示移动视图
【解决方案2】:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^m.mysite\.com
RewriteRule (.*) http://www.mysite.com/$1 [R=301, L]

【讨论】:

    【解决方案3】:

    我认为您应该能够使用此规则编写一个 .htaccess 文件,前提是它是同一用户并且对两个 URL 都有读取权限:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^m\.mysite\.com
    RewriteRule (.*) ../mysite.com/$1 [L]
    

    或者,您可以创建一个指向主站点的符号链接,比如说:

    ./mysite.com
        dirs and folders
    
    ./m.mysite.com
        drwxr-xr-x main_site -> ../mysite.com
    

    还有一个 htaccess:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^/?mysite\.com 404.html [L] # Do not show the real filesystem layer
    RewriteRule (.*) ./mysite.com/$1 [L]
    

    【讨论】:

    • 我试过这个 - RewriteCond 上的 RewriteEngine %{HTTP_HOST} ^m\.mysite\.com RewriteRule (.*) ../mysite.com/$1 [L]
    • 但是它说,400 Bad request Bad Request 您的浏览器发送了一个此服务器无法理解的请求。
    • 如果可以,请尝试最后一个...我现在无法设置这样的配置
    • /path/to/m.mysite.com 中,如果您在几乎任何类UNIX shell 上,请键入ln -s ../mysite.com main_site
    • 不。我无权访问。我只有 ftp 访问权限。
    【解决方案4】:

    这不是这样做的方式。

    为 WP-Touch 或 MobilePress 等移动网站获取合适的插件,并制作特定于移动设备的主题。您不需要为这个位使用 htaccess 或 httpd.conf 文件。

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 1970-01-01
      • 2015-02-13
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多