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

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

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

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

Q&A

解決済

1回答

1164閲覧

.htaccessで特定のディレクトリのみをリダイレクトさせたい

MeB

総合スコア104

.htaccess

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

0グッド

0クリップ

投稿2018/07/17 03:23

前提・実現したいこと

example.com/.test/test.json

上記のように隠しディレクトリの中にデータが記されているjsonがあった場合に
jsなどでデータを持ってきているためアクセスはできる状態で、urlなどで.test/や.test/data.json
などと入力した場合にトップページへリダイレクトさせたいです。

試したこと

RewriteRule ^test.json$ https://example.com/ [L,R=301] RewriteRule ^.test(.*)$ /$1 [R=301,L]

などいろいろ試しているのですが、リダイレクトされなかったり、
アクセスできなくなったりとうまくいきません。
ご教示をお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

フォルダー全部が対象なら、
RewriteRule ^.test/ https://example.com/ [R=301,L]
では?

リダイレクトではなくアクセス拒否にするのが普通な気がします。

投稿2018/07/17 03:40

otn

総合スコア84557

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

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

MeB

2018/07/17 03:49

ご回答ありがとうございます。 jsonの中のデータを取得してトップページに出力しているのですが、 アクセス拒否の場合はそれが取得できなくなったりしないのでしょうか?
otn

2018/07/17 03:52

プログラムで読み書きするだけのファイルで、ブラウザからURLを指定してのアクセスをさせないというのが要件なら、 (普通の方法) ドキュメントルートの外にファイルを置く (レンタルサーバーでドキュメントルートの外にファイルを置けない場合) .htaccess でアクセス拒否を設定 です。
MeB

2018/07/17 04:17

レンタルサーバーのため、 <Files ~ ".json$"> こちらも試して見たのですが、データが表示されなくなってしまいました。 そのためリダイレクトなのかと…
otn

2018/07/17 04:22

ちょっと状況が分かりません。 サーバーサイドプログラムで直接読むんじゃなくて、ブラウザ経由で読むと言うことですか? であれば、リダイレクトすると読めないと思いますけど。
MeB

2018/07/17 04:28

ajaxを使ってjsonのデータを直接持ってきて表示しています。 php内に書くなどするしかないのでしょうか?
otn

2018/07/17 04:35

クライアントからアクセスする要件があるなら、アクセス禁止とかリダイレクトとかしちゃ駄目に決まっています。 見せたくないデータなら、サーバー内で完結させるしかない。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問