2013-06-01 3 views
1

я прочитал некоторые вещи на этом, но не может получить ясно (или работать):создать субдомен направить подпапке на другом домене

У меня есть домен (назовем его domain1.co.uk), зарегистрированный в namesco, но указывающий на веб-хостинг в другом месте - серверы имен настроены на серверы хостинга.

С хостинговой компанией у меня есть несколько различных сайтов в папках под public_html.

У меня есть еще один домен (назовите его domain2.co.uk), также зарегистрированный namesco, который перенаправляется на один из упомянутых выше сайтов (например, www.domain2.co.uk на www.domain1.co.uk/ thisparticularwebsite/home.php).

Что я хочу сделать, так это получить субдомен на домен2 (sub.domain2.co.uk), чтобы ссылаться на конкретный скрипт php на этом частном веб-сайте (например, www.domain1.co.uk/thisparticularwebsite/sub.php).

namesco скажите мне, что я могу сделать это, создав запись A или запись CNAME, но она может ссылаться только на домен верхнего уровня (public_html в домене1), а не подкаталог или скрипт.

То, что я думаю, что нужно сделать, поэтому использовать .htaccess следующим образом в корневой директории domain1.co.uk

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^sub\.domain2\.co\.uk [NC] 
RewriteRule ^.*$ http://www.domain1.co.uk/thisparticularwebsite/sub.php [R-301] 

или, возможно,

.... 
RewriteRule ^.*$ /thisparticularwebsite/sub.php [R-301] 

, а затем создать запись CNAME на domain2 для sub (т. е. sub >> domain1.co.uk).

Это правильно? (Похоже, что это не сработало, хотя неясно, что происходит, поскольку обновления DNS еще не распространяются полностью).

Одна вещь, я не уверен, что это действительно должно появиться в HTTP_HOST - это строка, введенная исходным клиентом, или она изменяется по пути записями CNAME?

+0

Что я нахожу прямо сейчас, что http://sub.domain2.co.uk, кажется, в конечном итоге на http://www.extendcp.com/ держась /, кем бы это ни было. Не знаю, как, так что он не приближается к моему файлу .htaccess. Однако www.domain2.co.uk или http://domain2.co.uk все еще работают как ожидалось. – nmw01223

ответ

1

код .htaccess должен быть

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^sub\.domain2\.co\.uk$ [NC] 
RewriteRule ^.*$ http://www.domain1.co.uk/thisparticularwebsite/sub.php [L,R=301] 
+0

Спасибо, я уже пробовал $ на конце RewriteCond - никакого эффекта, но что делает L в RewriteRule? – nmw01223

+0

L означает последний. Кстати, вы использовали 'R-301', который должен быть' R = 301' – Babar

+0

Спасибо. Да, это была просто ошибка ввода. – nmw01223

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