人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在、WWWサーバを1つ運営しております。

今、特定のフォルダのみを別ドメインからのみアクセスできるようにしたいと考えています。

現在、/var/www/html/123/にあるファイルは
http://123.jp/123
http://abc.jp/123

の両方をhttpd.confを書き換えて見ることができます。
これを、片方のドメイン(123.jp)からだけ見れるようにしたいと考えています。

今のところ、.htaccessを

DirectoryIndex index.php index.html setenvIf refferer "123.jp" permit_ok
SetEnvIf Request_URI \.php permit_ok2
order deny,allow
deny from all
allow from env=permit_ok
allow from env=permit_ok2

として、フォルダ直下のindex.phpを
一番最初に読み込むようにして、
index.phpから
header ("Location : http://123.jp/index.html");
を実行しても、リファラーが取れないようで、
うまく片方だけのドメインから見れるようにできません。

何かいい方法を知っている方、
参考になるページを知っている方、
どうか宜しくお願いします。

●質問者: mgaki
●カテゴリ:コンピュータ インターネット
✍キーワード:.htaccess .jp ALL HTML httpd
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● villain
●20ポイント

ホームディレクトリをそれぞれ別に変更したらどうでしょうか。

よくは知らないのですが、確かサーバの設定でバーチャルホスト毎

にホームディレクトリ(サーバルート, ドキュメントルート)を指定

できますよね?

自分でサーバを管理しているならこの辺りもできると思いますが。


(サーバはApacheと想定します)

バーチャルホストによる複数サイトの同時運用


これが一番早くて確実な方法だと思います。

◎質問者からの返答

申し訳ありません。同じホームディレクトリという前提での質問になります。

同じホームディレクトリでの実現方法をお知りでしたら、宜しくお願いします。


2 ● jiangmin
●20ポイント

NameVirtualHostですよね。これでどうでしょう。

<VirtualHost *>
 ServerName 123.jp:80
 DocumentRoot /var/www/html/
 <Directory /var/www/html/>
 Order allow,deny
 allow from all
 </Directory>
</VirtualHost>
<VirtualHost *>
 ServerName abc.jp:80
 DocumentRoot /var/www/html/
 <Directory /var/www/html/>
 Order allow,deny
 allow from all
 </Directory>
 <Directory /var/www/html/123/>
 Order deny,allow
 Deny from all
 </Directory>
</VirtualHost>

http://q.hatena.ne.jp/1149558758

◎質問者からの返答

ありがとうございます。

1つの解決策だと思います。

申し訳ありませんが、今の環境ではhttpd.confが編集できません。

.htaccessを利用して同様のことは可能でしょうか?


3 ● novtan
●20ポイント

Refererが取れないのは、スペルや大文字小文字があっていないからではないですか?

大文字小文字含め

SetEnvIf Referer

と正しく書いてみてください

http://faq.sakura.ne.jp/wiki/wiki.cgi?.htaccess


4 ● villain
●20ポイント

↑NOV1975さん、Locationヘッダなどを使用してリダイレクト

した場合は、リファラはLocationヘッダを出力しているページの

リンクのリファラになります。


A -> B(リダイレクト) >> C(リファラはA)


上記の場合においてAを経由せずに直接Bにいくとリファラは空に

なります。


リファラ実験


mgakiさん、もう一つの方法としては仮想ディレクトリを使用する

方法があります。


http://abc.jp/ の 123 ディレクトリは別のディレクトリを

仮想ディレクトリとして設定すれば、 http://123.jp/ のみ

からリンクすることが可能になるはずです。

(http://abc.jp/123/ を利用したい場合は 仮想ディレクトリと

して設定したディレクトリに置けばいいです)


5 ● jiangmin
●20ポイント

これでどうでしょう。

SetEnvIf Host "123\.jp$" permit_ok
order deny,allow
deny from all
allow from env=permit_ok

http://q.hatena.ne.jp/1149558758

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ