2015-08-27 3 views
1

Моя проблема заключается в следующем:Display поддомен вместо пути к файлу

У меня есть домен (domain.com) и папку с именем страницы (domain.com/page).

Папка страницы содержит кучу файлов, включая css-файлы и index.html.

Мой .htaccess файл находится в корневой папке (domain.com/.htaccess) и включает в себя следующее:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^domain.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 

Этот код удаляет www часть из области (показывает, как domain.com вместо www.domain.com).

Я ищу создать субдомен, так что вместо отображения URL, как http://domain.com/page он отображается как http://page.domain.com

Я попытался использовать этот код ниже

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^domain.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^page\.domain\.com$ 
RewriteCond %{REQUEST_URI} !^/page/ 
RewriteRule (.*) /page/$1 

но посещение page.domain.com Безразлично Не возвращай ничего, и переход на domain.com/page по-прежнему отображается как domain.com/page.

Мои знания .htaccess не самые большие, поэтому, пожалуйста, не переходите слишком далеко, не объясняя.

ответ

1

Try:

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^(page\.)?domain.com$ [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] 
RewriteCond %{THE_REQUEST} \ /+page/([^\?\ ]*) 
RewriteRule^http://page.domain.com/%1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^page\.domain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/page/ [L] 
RewriteRule (.*) /page/$1 
+0

К сожалению, это не работает. Я получаю 500 внутренних ошибок сервера. Я заменил код (изменение фиктивного домена и страницы) в файле .htaccess в корневой папке веб-пространства (domain.com/). – Akjm

Смежные вопросы