質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

7251閲覧

さくらインターネット 同一サーバ内で複数のドメインのサイトを運営したいが設定がうまくいかない

brebre

総合スコア29

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2016/10/06 04:59

編集2016/10/06 05:19

現在、さくらインターネットのレンタルサーバにて、サイト(https://example.com)を運営しております。

お名前.comにて新たにドメイン(example2.com)を取得し、同一サーバ内での運営を考えています。

さくらインターネットの公式サイト(マルチドメインの設定)を参考に「example2」というフォルダを作り、ドメインを追加しました。

https://example2.com」と入力すれば該当ページが表示されるかと思っていたのですが、
https://example.com/example2」と表示されてしまいます。

さくらインターネットへ問い合わせましたが、おそらく.htaccessの挙動が原因だろうということでした。.htaccessについてはサポート外とのことでご対応いただけませんでした。

以前、いろいろなサイトを見ながら.htaccessをいじったので、自分でもそこに原因があると思っているのですが、具体的にどこを修正すればよいか分かりません。

既存の.htaccessは以下のようになります。

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$ RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ https://example.com/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?example\.sakura\.ne\.jp$ [NC] RewriteRule .* http://www.example.com%{REQUEST_URI} [R=301,L] </IfModule> AcceptPathInfo Off DirectoryIndex index.html index.htm index.shtml index.php index.cgi .ht AuthUserFile /home/example/www/.htpasswd AuthType Basic AuthName "Web access" Satisfy all Order deny,allow ErrorDocument 404 /404.php

.htaccessを修正すれば治るのか、そもそも何か根本的な箇所が間違っているのか、
解決策をご教示いただけますと幸いです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/10/06 05:23 編集

例示用ドメインはご自身で所有されていない限りexample.com example.net example.jpを利用してください。(追記:example2も販売中のドメインです)
guest

回答1

0

ベストアンサー

RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ https://example.com/$1 [R=301,L] RewriteEngine On

恐らく、このRewriteRuleに引っかかってリダイレクトがかかっているのかと思います。

そもそも、「example2」というフォルダは、どこに作っていますか?
.htaccessは通常、配下のフォルダに対しても効果を発揮します(配下のフォルダに.htaccessが別途あればそちらが優先されます)
「example.com」のドメインが当たっているフォルダの配下に「example2」フォルダを置いているのであれば、「example.com」に使用している.htaccessが効いてしまっているのでしょう。

同一サーバーで複数のサイトを運営する場合はwwwのルートフォルダにはドメインを当てずに、その配下にサイト毎にフォルダを作り、各フォルダにドメインを当てていきます。

www(ルートフォルダ) ├example(example.comのドメインを当てる) └example2(example2.comのドメインを当てる)

こうすればドメイン間で.htaccessの設定が干渉することは基本的に起こりません。

投稿2016/10/06 05:28

編集2016/10/06 06:34
KaedeKazane

総合スコア408

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

brebre

2016/10/06 06:24

ご回答いただきありがとうございます。 「example2」(ご指摘を受け名前を修正しております)というフォルダは、「exapmle.com」のドメインが当たっているフォルダの配下に作りました。 そもそも、ルートフォルダに既存サイトに関するファイルが作成されています。 www(ルートフォルダ) ├index.php(exampleのトップページ) ├styles.css ├images └example2  ├index.php  └styles.css 上記のようになってしまっている場合、ルートフォルダに「example」というフォルダを作り、そのフォルダにexample.comのドメインを当てる必要があるという解釈で合っていますでしょうか?
KaedeKazane

2016/10/06 06:35

はい、その解釈で大丈夫です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問