Изменить корень документа на припаркованном домене?
Я столкнулся с проблемой, которая заключается в том, что мой веб-хостинг не предлагает аддон доменов.
В настоящее время у меня есть доменное имя, указывающее на мои серверы имен.
Я зашел в cPanel, чтобы добавить домен дополнения, который указывает на подкаталог, но все, что доступно в cPanel, - это парковать домен в корне документа, который является 'public_html/'.
Таким образом, трафик, приходящий с припаркованного домена, получит неправильный контент, что явно нехорошо.
У меня такое ощущение, что это невозможно, но могу ли я изменить корневой каталог документа припаркованного домена с 'public_html /' на 'public_html/sub-directory'?
Или, может быть, я могу отредактировать файл.htaccess, чтобы перенаправить трафик с припаркованного домена в подкаталог?
В основном я хочу этот адрес; www.parked-domain.com/
Показать содержимое этого подкаталога; www.first-domain.com/parked-directory
Я надеюсь, что это возможно, в противном случае мне нужно посмотреть на новый веб-хостинг.
С Уважением,
Дин.
3 ответа
Добавьте следующее в ваш файл.htaccess:
RewriteRule ^parked-directory - [L]
RewriteCond %{HTTP_HOST} ^(www\.)?parked-domain\.com$ [NC]
RewriteRule ^(.*)$ parked-directory/$1 [L]
Несмотря на то, что вы недовольны, вы можете динамически настроить суб-хосты вашего припаркованного домена, используя mod_rewrite.
Вот пример.htaccess для мультихостинга через mod_rewrite с использованием динамического формата, который требует parked-domain-name = sub-folder-name и охватывает другие паркованные домены на вашем сайте, которые перенаправляются или игнорируются.
# tell mod_rewrite to activate and give base for relative paths
RewriteEngine on
RewriteBase /
# permanent redirect of unused parked domains so they do not try to resolve.
# only use this redirect if you want multiple names to point to another.
# otherwise, replace the rewrite rule with: RewriteRule . - [F,L]
RewriteCond %{HTTP_HOST} ^(www\.)?parked-domain1\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?parked-domain2\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?parked-domain3\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?parked-domain4\.com$ [NC]
RewriteRule ^(.*)$ http://main-site.com/$1 [L,R=301]
# if you have an active site in hosting root folder,
# then tell it not to look for a subfolder by skipping next rule
RewriteCond %{HTTP_HOST} ^(www\.)?main-site\.com [NC]
RewriteRule ^(.*)$ - [S=1]
# the domain-name = sub-folder automation
# thus parked-domain5.com in /parked-domain5/
RewriteCond %{HTTP_HOST} ([^.]+)\.com
RewriteCond %{REQUEST_URI} !^/%1
RewriteRule ^(.*)$ %1/$1 [L]
# if you're hosting wordpress sites, this is a tweaked variant of the WP code.
# add the rest of this example only if:
# 1. main-site.com is a WP site
# 2. you remove .htaccess in subfolders
# if (1.) true, yet keeping subfolder .htaccess, uncomment next 2 lines:
# RewriteCond %{HTTP_HOST} !^(www\.)?main-site\.com [NC]
# RewriteRule ^(.*)$ - [S=1]
#### BEGIN WordPress, improved
# if this request is for "/" or has already been rewritten to WP
RewriteCond $1 ^(index\.php)?$ [OR]
# or if request is for image, css, or js file
RewriteCond $1 \.(gif|jpg|jpeg|png|css|js|ico)$ [NC,OR]
# or if URL resolves to existing file
RewriteCond %{REQUEST_FILENAME} -f [OR]
# or if URL resolves to existing directory
RewriteCond %{REQUEST_FILENAME} -d
# then skip the rewrite to WP
RewriteRule ^(.*)$ - [S=1]
# else rewrite the request to WP
RewriteRule . /index.php [L]
# END WordPress
Вместо использования "припаркованного домена", используйте домен надстройки - и здесь просто корневой каталог для public_html/sub-directory, куда вы хотите указать свой новый "припаркованный" домен...