如何将子域重定向到主域维护相同的URL?

时间:2010-12-14 18:38:16

标签: php apache url .htaccess subdomain

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

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

我的要求 -

当用户访问m.mysite.com时,他应该被重定向到mysite.com ,但浏览器中的网址仍然应该说m.mysite.com
我正在使用$ _SERVER ['SERVER_NAME']检测子域名来处理移动视图

4 个答案:

答案 0 :(得分:1)

我认为您可以在m.mysite.com下设置一个htaccess文件,其中包含一个将所有请求指向其他网址的RewriteRule。

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

答案 1 :(得分:1)

这不是这样做的方式。

为WP-Touch或MobilePress等移动网站获取适当的插件,并制作专门针对移动设备的主题。这个位你不需要使用htaccess ot httpd.conf文件。

答案 2 :(得分:0)

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^m.mysite\.com
RewriteRule (.*) http://www.mysite.com/$1 [R=301, L]

答案 3 :(得分:0)

我认为您应该能够使用此规则编写.htaccess文件,前提是它是同一个用户并且已阅读对这两个URL的permisssions:

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]