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

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

ただいまの
回答率

87.61%

ルートパスをサブディレクトリで表示させたい

受付中

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 6,937

score 48

http://test.info/sub/ の中にindex.htmlがあり、ルートパス/から始まっている記述をインターネット上で表示させるにはどうしたらよいでしょうか?

http://test.info/には、basic認証をかけています。(さくらインターネット)

「.htaccessで本番サーバのtestディレクトリ以下でもルートパスを通す」の記事を参考にさせていただきましたが、css,js,imgが表示されずうまくいきませんでした。
(参考)http://qiita.com/Cuano/items/f41abc641e511cf8dec5

http://test.info/sub/ にhtaccessでどのように記述したらよいでしょうか。ご教示をお願いいたします。

例えば、以下のようなルート表示で書かれています。(ローカルではDreamWeaverの設定で見れています)
<link href="/css/common.css" rel="stylesheet">
<script src="/js/bootstrap.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><img src="/img/common/logo" alt="logo">
<a href="/page/aaa/">

■追記
ちなみに、ルートディレクトリのhtaccessでは以下を記述しています。これが関係してますか?(今回はワードプレスではありません。以下削除してもダメでした。)

 BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 END WordPress

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+2

下記の.htaccessで対応できないでしょうか?

RewriteEngine On
RewriteCond %{HTTP_HOST} test.info
RewriteCond %{REQUEST_URI} !/sub
RewriteRule ^(.*)$ /sub/$1 [L]

※参考サイトでは、RewriteCond句で%{HTTP_REFERER}を使用していますが、
その場合、リンク元がtest.infoの時に書き換えを実施するという意味になり
リンク元がない初回アクセス時には動作しないと思われます。今回のケース
では%{HTTP_HOST}を使用いたしました。

※.htaccessは、ドキュメントルートに追記をお願いいたします。

以上ご確認お願いいたします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/14 12:37

    test.info/sub/ の中に上記.htaccessを入れてみましたがダメでした。。試しにtest.info/にも入れてみましたがそれも表示されませんでした。パーミッション?他のhtaccessがどこかにあって影響しているのか?調べてみます。

    キャンセル

  • 2016/04/14 13:19 編集

    .htaccessをサーバーのドキュメントルートつまりsubの上の階層に置くことは
    できないのでしょうか?

    キャンセル

  • 2016/04/14 13:37

    ドキュメントルート/.htaccess (test.info/.htaccess) の Wordpress 用の設定を削除し、userunknown さんの回答を設定すると、「/img/」→「/sub/img/」と内部で変換されて表示できると思います。
    そもそも、このサーバーで mod_rewrite は許可されているのでしょうか?

    キャンセル

0

http://test.info/sub/ の中に css やjs やimg フォルダはアップロードされていますか?


追記:

「ルート表示」として「href="/css/common.css"」を書かれていますが、それは相対パスなので.htaccessは必要ありません。一度「http://test.info/」「http://test.info/sub/」双方の.htaccessを消した上で確認されてみてはいかがでしょうか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/14 01:52

    はい。アップしています。

    キャンセル

  • 2016/04/14 02:08

    追記された箇所を見ました。
    IfModule 内を削除してみてください。多分それで問題なくなると思います。

    キャンセル

  • 2016/04/14 04:06

    削除しても表示されないですね。。。確かに画像もcssもUPされてるのですが、ブラウザの開発ツールF12で見てもルートパスから変わっていません。。。

    キャンセル

  • 2016/04/14 13:25

    追記しました。

    キャンセル

0

度々申し訳ありません。下記のURLにアクセスし、解凍したファイルのサーバールート
フォルダより下にあるファイルとフォルダをご利用のサーバーのサーバールート下に
アップしていただくことはできますでしょうか?

http://firestorage.jp/download/0696a8e586fd3495ba1414f4033519bc7d07d069

ダウンロードパスワード iwxrt24v

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

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/17 17:53 編集

    ご丁寧にご教示くださりありがとうございます。ファイルの方をルートにアップさせていただきましたが、他のディレクトリが見れなくなってしまいました。例:http://test.info/link/
    他のディレクトリは相対パスで書かれたhtmlなので、ディレクトリによってルート表示か相対か複数存在します。やはり、ルートにhttaccessを置く場合だと条件分岐的なものが必要なのでしょうか。もう一度ゆっくり皆様の回答と参考サイトをやり直してみたいと思います。お返事遅くなりすみません。

    キャンセル

  • 2016/04/18 12:45

    1点わからない点があるので、質問よろしいでしょうか?
    test.infoというドメインはどのディレクトリにアクセスする場合でも同じなのでしょうか?ドメインによりドキュメントルートを振り分ける・・そんな使い方を想定して回答
    させていただいたのですが。。。

    キャンセル

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

  • ただいまの回答率 87.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る