現在、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");
を実行しても、リファラーが取れないようで、
うまく片方だけのドメインから見れるようにできません。

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/06/06 10:52:39
  • 終了:2006/06/13 10:55:02

回答(5件)

id:villain No.1

villain回答回数174ベストアンサー獲得回数122006/06/06 11:10:41

ポイント20pt

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

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

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

できますよね?

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


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

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


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

id:mgaki

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

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

2006/06/06 11:32:13
id:jiangmin-alt No.2

jiangmin回答回数125ベストアンサー獲得回数82006/06/06 12:08:21

ポイント20pt

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

id:mgaki

ありがとうございます。

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

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

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

2006/06/06 15:48:41
id:NOV1975 No.3

novtan回答回数50ベストアンサー獲得回数22006/06/06 13:23:37

ポイント20pt

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

大文字小文字含め

SetEnvIf Referer

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

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

id:villain No.4

villain回答回数174ベストアンサー獲得回数122006/06/06 16:15:36

ポイント20pt

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

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

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


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


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

なります。


リファラ実験


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

方法があります。


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

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

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

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

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

id:jiangmin-alt No.5

jiangmin回答回数125ベストアンサー獲得回数82006/06/06 16:15:56

ポイント20pt

これでどうでしょう。

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

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

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません