サブディレクトリをメインドメインのpublic_htmlとして機能させるのに問題があり、そのドメインのサブディレクトリでも機能するソリューションを取得しています。
バックグラウンド
私のホスティングでは、複数のサイトをホストできますが、それらはすべてうまく機能しています。〜/public_html/ディレクトリの下に/domains/というサブフォルダを設定しました。ここで、個別のWebサイトごとにフォルダを作成します。サーバーのフォルダー構造は次のようになります。
- public_html
- ドメイン
- websiteone
- websitetwo
- ウェブサイト3
- ..。
- ドメイン
これにより、私のサイトがきれいに整頓されます。唯一の問題は、私の「メインドメイン」をこのシステムに適合させることでした。私のメインドメインはどういうわけか私のアカウント(またはApacheなど)に関連付けられているようです。そのため、このドメインの「ドキュメントルート」を変更することはできません。cPanelに追加した他のドメイン(「アドオンドメイン」)のドキュメントルートを問題なく定義できます。しかし、メインドメインは異なります。
問題
メインドメインをサブディレクトリにリダイレクトするために、.htaccessファイルを編集するように言われました。これはうまく機能しているようで、私のサイトはホームページ/インデックスページで正常に機能しています。
私が抱えている問題は、ブラウザをナビゲートして、メインサイトの画像フォルダ(たとえば)を次のように言うことです。
www.yourmaindomain.com/images/
次に、リダイレクトを無視しているように見え、次のようにURLにサーバーディレクトリ全体が表示されます。
www.yourmaindomain.com/domains/yourmaindomain/images/
それでも実際には正しい「/imagesのインデックス」ページが表示され、すべての画像のリストが表示されます。問題なのは「きれいな」URLだけです。
私の.htaccessの例
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /domains/yourmaindomain/$1
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L]
このhtaccessファイルは正しいように見えますか?メインドメインがアドオンドメインのように動作し、サブディレクトリがリダイレクトルールに準拠するようにする必要があります。