Как перенаправить поддомен на основной домен, сохраняя тот же URL?

Мой основной домен (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']


person Lenin Raj Rajasekaran    schedule 14.12.2010    source источник
comment
I am not able to edit the path to which this new subdomain points to. говорит мне, что это проблема с интернет-провайдером, так как для этого нет причин. Свяжитесь с ними.   -  person Erik    schedule 14.12.2010
comment
Поскольку я нахожусь на бесплатной учетной записи хостинга, они не позволяют мне редактировать этот путь.   -  person Lenin Raj Rajasekaran    schedule 14.12.2010


Ответы (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]
person ssice    schedule 14.12.2010
comment
Я пробовал это - RewriteEngine на RewriteCond %{HTTP_HOST} ^m\.mysite\.com RewriteRule (.*) ../mysite.com/$1 [L] - person Lenin Raj Rajasekaran; 14.12.2010
comment
Но он говорит: 400 Bad request Bad Request Ваш браузер отправил запрос, который этот сервер не смог понять. - person Lenin Raj Rajasekaran; 14.12.2010
comment
Попробуйте последний вариант, если сможете... Я не могу настроить такую ​​конфигурацию прямо сейчас. - person ssice; 15.12.2010
comment
Внутри /path/to/m.mysite.com введите ln -s ../mysite.com main_site, если вы используете почти любую UNIX-подобную оболочку. - person ssice; 15.12.2010
comment
Неа. У меня нет доступа к этому. У меня только доступ по фтп. - person Lenin Raj Rajasekaran; 15.12.2010
comment
Вы пробовали первое правило без RewriteCond %{HTTP_HOST} ^m\.mysite\.com ? IDK, почему это 400 Bad Request - person ssice; 16.12.2010

Я думаю, вы могли бы настроить файл htaccess под m.mysite.com с RewriteRule, который направляет все запросы на другой URL-адрес.

RewriteEngine On
RewriteRule ^(.*)$ http://www.mysite.com/$1
person simshaun    schedule 14.12.2010
comment
Спасибо за ответ. С этим .htaccess URL-адрес в браузере изменится на www.mysite.com. Но я хочу, чтобы браузер показывал m.mysite.com, чтобы я мог обнаружить этот поддомен в своем веб-приложении и соответственно отображать мобильные представления. - person Lenin Raj Rajasekaran; 14.12.2010

Это не способ делать это.

Получите подходящий плагин для мобильных сайтов, таких как WP-Touch или MobilePress, и создайте мобильную тему. Вам не нужно возиться с файлами htaccess или httpd.conf для этого бита.

person Shashank Tripathi    schedule 12.01.2012