Газа www.из домена работает на основном сайте, но не с поддоменом - PullRequest
0 голосов
/ 22 февраля 2011

В настоящее время мой файл .htaccess выглядит следующим образом:

ErrorDocument 404 /404.php
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php 
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]

при посещении основного сайта по адресу: www.site.com, www.удаляется, как и должно быть, и все работает нормально.

Когда я посещаю поддомен в правильном формате (http://sub.site.com) Everythign работает нормально.

Проблема возникает, когда пользователь вводит www. asчасть субдомена, поэтому: http://www.sub.site.com не удаляет www. Вместо этого перенаправляет на размещенную на храме Медиа страницу «субдомен не существует» (кстати, невероятно раздражает).

Anyпредложения?

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Измените эти строки:

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]

Кому:

RewriteCond %{HTTP_HOST} ^www\.(.+?)\.([^.]+)$ [NC]
RewriteRule ^(.*)$ http://%1.%2$1 [R=301,NC,L]
0 голосов
/ 22 февраля 2011

Я считаю, что мне пришлось "обмануть" систему, но нашел работающий метод:

Сначала мне нужно было создать файл vhost.conf в моем поддомене с помощью:

ServerAliaswww.subdomain.site.com

После сброса Plesk и моего сервера Apache я также добавил DNS-запись с подстановочными знаками в свой поддомен как:

*. subdomain.site.com.Запись с IP-адресом соответственно

Это, кажется, решило мою проблему на данный момент, хотя все еще не может понять, почему первый не работал.

...