2016-04-08 8 views
0

Недавно я переместил несколько моих доменов в GoDaddy, и в настоящее время я изо всех сил стараюсь правильно настроить структуру каталогов с каждым из них. У меня есть каждый из моих доменных доменов в своем собственном каталоге под public_html /. Кроме того, я хочу перенести свой основной домен в свою собственную подпапку для чистоты. В результате, моя установка каталог выглядит следующим образом:Перемещение домена в подкаталог с помощью CPanel

public_html/ 
    primarydomain/ 
    addondomainA/ 
    addondomainB/ 
    addondomainC/ 

настроить мой файл .htaccess под public_html следующим образом:

RewriteEngine on 

# Rewrite direct addondomain access to their proper domains 
RedirectMatch ^/addondomainA.com/(.*)$ http://addondomainA.com/$1 
RedirectMatch ^/addondomainB.com/(.*)$ http://addondomainB.com/$1 
RedirectMatch ^/addondomainC.com/(.*)$ http://addondomainC.com/$1 

# Rewrite primary domain access to the primarydomain/ folder 
RewriteCond %{HTTP_HOST} ^(www.)?primarydomain.com/ 
RewriteCond %{REQUEST_URI} !^/primarydomain/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /primarydomain/$1 
RewriteCond %{HTTP_HOST} ^(www.)?primarydomain.com$ 
RewriteRule ^(/)?$ primarydomain/index.html [L] 

домен аддон перенаправляет работу отлично, и если я пытаюсь получить доступ к PRIMARYDOMAIN .com, запрос правильно переписан в primarydomain/подкаталог. Однако, если я попытаюсь получить доступ к primarydomain.com/primarydomain, ничто не будет перезаписано (насколько я могу судить), и пользователь может напрямую получить доступ к странице. Я хотел бы запретить все запросы прямого доступа для primarydomain/folder, но ничего, что я пытаюсь, похоже, работает. Я думал, что удаление:

RewriteCond %{REQUEST_URI} !^/primarydomain/ 

Сделал бы что-нибудь, но, похоже, это не влияет на поведение. Аналогичным образом, оба:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

... кажется, не имеет эффекта, если удалено. Я даже попытался добавить четвертое предложение RedirectMatch вверху, надеясь поймать имя папки, если оно вставлено, но это приводит к циклу перенаправления, как если бы он обрабатывал команды не по порядку. Я пожрал все ответы, которые мог найти при переполнении стека, но ни один из них не решает проблему. Я пробовал несколько свежих браузеров, и я вполне уверен, что это не проблема с кешем.

Есть ли у кого-нибудь идеи, как выполнить эту, казалось бы, супер-основную задачу? Есть что-то, что я забыл? Заранее спасибо.

ответ

0

вы можете попробовать использовать cname обратно в соответствующий каталог (cname в расширенных dns в cPanel)

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