web-dev-qa-db-ja.com

cPanel共有ホストのメインドメインのドキュメントルートを変更するにはどうすればよいですか?

基本的なCLIアクセス権を持っている共有ホストにいます。

Public_html/I内で、それぞれ独自のディレクトリにあるいくつかのアドオンドメインをホストします。次の構造を実現するために、メインドメインのドキュメントルートを別のフォルダー内に作成することは可能ですか?

public_html/
   --maindomain_root/
   --othersite1_root/
   --othersite1_root/

の代わりに:

public_html/
   --maindomain_file1
   --maindomain_file2 (..etc)
   --othersite1_root/
   --othersite1_root/
3
Antonis Gr

申し訳ありませんが、すべてのドキュメントルートはpublic_html /内に存在する必要があるという誤解があったため、私の質問は実際には間違っています。外部に移動しただけで、public_html /がメインドメインのドキュメントルートになりました。そのため、ファイルが散らばるのを避け、すべてのサイトが独自のディレクトリにあります。

1
Antonis Gr

メイン/プライマリドメインを変更するには、ルートSSHアクセスが必要で、次のファイルを見つけて編集できる必要があります(ユーザーとドメイン情報を置き換えます)。

/var/cpanel/userdata/USERNAME/DOMAIN.COM
  1. ファイルを開いたら、次の行を探します。

    ドキュメントルート:/ home/USERNAME/public_html

  2. 必要に応じて場所を変更します。保存して終了します。

  3. Apache confを再構築し、Apacheを再起動します。

    / scripts/rebuildhttpdconf

    サービスhttpdの再起動

変更はすぐに反映されます。ブラウザのキャッシュをクリアして、ページを強制的に更新するだけです!

2
Waqleh

Httpd.conf(通常、cpanelを使用したLinuxボックスの/ usr/local/Apache/confにあります)には、<virtualhostで始まるセクションがいくつかあります。それぞれの中に、「DocumentRoot」の行があります。

その横に表示されるパスは、ユーザーがURLとしてドメイン名自体にアクセスしようとしたときに、システムがインデックスファイルを見つけるために使用するパスです。

また、正しいドメインを処理していることを確認するには、「ServerName」エントリまたはドメイン名自体を探します。結局、<virtualhostで始まる個々のテキストブロックには、1つのドメインのみに固有の設定が含まれています。

設定が変更されたら、Apacheを正常に再起動します。構成の変更を保持できるように、cpanelが配置する構成ファイルの上部にある指示に従うことをお勧めします。

柔軟性の低いもう1つのオプションは、ユーザーアカウント管理またはWHMのTweak設定を入力することですが、シェルを好むので、あまりWHMで遊んでいません。

Apacheの設定をあまりやりたくない場合は、ドキュメントを配置するフォルダーを作成し、シンボリックリンクを作成します。

Linuxでは、次のように入力します。

ln -s/path/to/new/folder/home/domain

「/ home/domain」は、変更するドメインの現在のドキュメントルートです。シンボリックリンクのアクセス許可と新しいフォルダーを正しく設定するようにしてください。そうしないと、ユーザーはアクセスが拒否されます。

いつものように、セットアップをテストします。

1
Mike

以前に存在していなかった場合は、.htaccessファイルを追加できます。

ファイルが既に存在する場合、以下のコードを追加します。 BACKUPまたは名前を変更せずに、既存の.htaccessファイルを上書きしないでください。

public_html/
   --.htaccess
   --maindomain_root/
   --othersite1_root/
   --othersite2_root/

.htaccessのコンテンツ

RewriteEngine On

RewriteCond %{HTTP_Host} ^(www.)?maindomain.com$
RewriteRule ^(/)?$ maindomain_root [L]

RewriteCond %{HTTP_Host} ^(www.)?othersite1.com$
RewriteRule ^(/)?$ othersite1_root [L]

RewriteCond %{HTTP_Host} ^(www.)?othersite2.com$
RewriteRule ^(/)?$ othersite2_root [L]

重要な点に注意してください-上記の方法で無関係なアドオンドメインがあると、インデックス可能なコンテンツとサイトマップを慎重に定義しない限り、検索エンジンクエリへの応答でURLが混在します。

1
000