トップページ⇒php
1001コメント347KB

.htaccessの偉い人 Part2

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/02(水) 19:47ID:???
.htaccessに関する質問はここにまとめて。
前スレ http://tako.2ch.net/test/read.cgi?bbs=perl&key=960307572
042141401/12/25 09:47ID:???
皆さんどうもありがとう。
CGの中にURLは入れてるんですけど、切られちゃうんです。
真中に入れるのは自分的に嫌だし、いちいちパス制にするのも面倒臭いし。
神経質過ぎたかもしれません。
0422名無しさん@お腹いっぱい。01/12/26 02:55ID:???
絵に被せろ
0423     01/12/31 17:17ID:???
バイナリの至る所にURLを埋め込むとか。
0424     02/01/02 03:52ID:???
あげ
0425名無しさん@お腹いっぱい。02/01/02 08:05ID:???
ぷ
0426名無しさん@お腹いっぱい。02/01/04 20:50ID:fIlLk5co
質問です。

今Basic認証によるアクセス制限をfooディテクトリ以下に実施
していまして、下のようなディレクティブを.htaccess以下に記述
しています。

AuthUserFile /hogehoge/public_html/foo/.htpasswd
AuthGroupFile /dev/null
AuthName "XXXXXXXXX"
AuthType Basic
require valid-user
order deny,allow
deny from hogehoge.ne.jp
allow from all

こうすると、ユーザ名とパスワードが一致していると、
deny命令を無視してアクセスできてしまいます。
(require valid-user命令からして当然なのでしょうけど。。)

ユーザ名、パスワードが一致している正当なユーザーでも、
hogehoge.ne.jpからアクセスすると404エラーを出す方法ってないでしょうか。。
.htaccessでは無理なのでしょうか・・・?
0427名無しさん@お腹いっぱい。02/01/04 21:21ID:fIlLk5co
ちなみに。。

<Files "/hogehoge/public_html/foo/*">
deny from hogehoge.ne.jp
</Files>
AuthUserFile /hogehoge/public_html/foo/.htpasswd
AuthGroupFile /dev/null
AuthName "XXXXXXXXX"
AuthType Basic
require valid-user

としてもダメでした。

<Files "/hogehoge/public_html/foo/*">
/hogehoge/public_html/foo/
</Files>
の部分を
<Directory /hogehoge/public_html/foo>
deny from hogehoge.ne.jp
</Directory>

としてもダメでした。。(;´Д⊂ヽ
やっぱり全ての命令はrequire valid-user命令には逆らえないのか。。
0428名無しさん@お腹いっぱい。02/01/04 21:32ID:???
>(require valid-user命令からして当然なのでしょうけど。。)

だったら valid-user を指定しなきゃいいじゃん。調べてみれ。
0429 02/01/04 21:37ID:???
>>426
allowとdenyを逆にしてみるとか。うひゃひゃ。
0430 02/01/04 21:41ID:???
ていうか、requirevalid-userだったら、
<Files .htaccess>
order deny,allow
deny from all
</Files>
でしょ?ふつう(かどうかは別にして(笑))
0431 02/01/04 22:11ID:???
>>430
だから何だったか忘れた。なにがいいたかったんだっけ?おれ(笑)
0432426=42702/01/04 22:16ID:???
>>428
じゃあgroupを指定してやろう。。と思い、
foo以下に.hogegroupというファイルを作りメンバを

XXUsers: aa bb cc .... という具合に定義して、

AuthUserFile /hogehoge/public_html/foo/.htpasswd
AuthGroupFile /hogehoge/public_html/foo/.hogegroup
AuthName "XXXXXXXXXXXXX"
AuthType Basic
require group XXUsers
order deny,allow
deny from hogehoge.ne.jp

としたんですがやはりhogehoge.ne.jpからのアクセスが通っちゃいました。。(;´Д⊂ヽ

>>429
ネタレスありがとうございます
>>430-431
???
043343002/01/04 22:47ID:???
>>432
ああおもいだしたよ(笑)
<Limit POST GET PUT>
require valid-user
order deny,allow
deny from hogehoge.ne.jp
</Limit>
とかだったらどうなの?みたいなことがきっといいたかったんだ。たぶん。
0434426=42702/01/04 22:56ID:???
>>433
あれ・・・・・???

AuthUserFile /hogehoge/public_html/foo/.htpasswd
AuthGroupFile /hogehoge/public_html/foo/.hogegroup
AuthName "XXXXXXXXXXXXX"
AuthType Basic
<Limit POST GET PUT>
require group XXUsers
order deny,allow
deny from hogehoge.ne.jp
</Limit>

これだとhogehoge.ne.jpからのアクセスを遮断できちゃいました。。

AuthUserFile /hogehoge/public_html/foo/.htpasswd
AuthGroupFile /dev/null
AuthName "XXXXXXXXX"
AuthType Basic
require valid-user
<Limit GET POST>
order deny,allow
deny from hogehoge.ne.jp
allow from all
</Limit>

だとダメだったのに。。なんででしょう。。
<Limit>はリクエストするメソッドを制限するだけなのに。。
0435426=42702/01/04 22:58ID:???
>>434に追加。。
他のIPのユーザーは正常にアクセスできることを確認しています。
けど何故なんでしょうね。。
043643002/01/05 01:01ID:???
>>435
よかったね。
0437名無しさん@お腹いっぱい。02/01/05 01:40ID:???
>>434
Order Deny,AllowとAllow,Denyの違いについてApacheのマニュアル読み直した
方がいいと思われ。

Order Deny,Allowの場合の動作:
1. 全てのホストに許可フラグをセット
2. Denyにマッチするホストの許可フラグをクリア
3. Allowにマッチするホストの許可フラグをセット

上記の1〜3を順番に「全て」実行し、許可フラグがセットされている場合のみ
許可する。つまり、Allow from allと書くと、Denyにマッチするホストでも許
可される。

# Apacheのアクセスコントロールはlast match win。first match winじゃないよ。
043842902/01/05 01:54ID:???
>>437
うひゃうひゃ。
0439426=42702/01/05 02:20ID:???
>>436
本当にありがとうございました。
>>437
ぐ。。。その通りですね。。
もう一度読み直してみます。。

>>434で
<Limit POST GET PUT>
require group XXUsers
order deny,allow
deny from hogehoge.ne.jp
</Limit>

と書いて遮断できたのは
allow from allと書かなかったからですね。。

本当にどうもありがとうございました。

>>429
ネタじゃなかったんですね。。すみませんでした。。(´Д`;)
0440426=42702/01/05 03:19ID:???
http://httpd.apache.org/docs/mod/mod_access.html#order

The Order directive controls the default access state and the order in which Allow and Deny directives are evaluated. Ordering is one of

Deny,Allow
The Deny directives are evaluated before the Allow directives.
Access is allowed by default. Any client which does not match
a Deny directive or does match an Allow directive will be allowed
access to the server.

Allow,Deny
The Allow directives are evaluated before the Deny directives.
Access is denied by default. Any client which does not match an
Allow directive or does match a Deny directive will be denied
access to the server.

これからすると。。order deny,allowの順だと、allowディレクティブにマッチ
するものは許可されてしまいますね。。勉強になりました。ありがとうございました。
0441426=42702/01/05 18:21ID:???
このスレの方にはお世話になったので。。
恩返しというわけではありませんが。。

「Apache HTTP Server 1.3ドキュメント」
http://httpd.apache.org/docs/
「Authentication, Authorization, and Access Control」
http://httpd.apache.org/docs/howto/auth.html
「Apacheモジュール」
http://httpd.apache.org/docs/mod/index.html
「Module mod_access」
http://httpd.apache.org/docs/mod/mod_access.html
「mod_setenvif モジュール」
http://httpd.apache.org/docs/mod/mod_setenvif.html

.htaccessいじるならこれくらい見たほうがいいかな。。と。
0442名無しさん@お腹いっぱい。02/01/09 11:02ID:Joi15J75
.htaccessの偉い人、教えてください。
apacheに関してなんです。
Basic認証画面は出てくるのですが、正しいID、パスワードを
入力しても認証されません。
以前にもこのスレで同様の質問がありましたが
(そのときの問題点は.htpasswdをテキスト編集して作っていた)
私の場合は、htpasswdコマンドを使用してパスワードを作成
しているのに、認証されないんです。
下記に設定内容を示します。

●httpd.conf
<Directory "/">
Options FollowSymLinks

AllowOverride Limit AuthConfig


</Directory>
<Directory "/var/www/html">
Options Indexes Includes FollowSymLinks

AllowOverride Limit AuthConfig
Allow from from all

Order Deny,Allow
</Directory>

●.htaccessの内容
AuthType Basic
AuthUserFile /FullPath.htpasswd
AuthName "○○○"
AuthGroupFile /dev/null
<Limit POST GET>
require valid-user
</Limit>

パスワードファイルはフルパス指定の場所に置き、
.htpasswd、.htaccessともにchmod 644をかけました。
どこが間違っているでしょう?
0443名無しさん@お腹いっぱい。02/01/09 11:39ID:lzfPILoX
>>442
httpd.conf

AllowOverride Limit AuthConfig
Allow from from all

from 一個よけい。
044444202/01/09 11:51ID:Joi15J75
あら、本当ですね。指摘どうもです。

fromを一個削除して、/etc/init.d/httpd restartしてみましたが
まだ、認証されません。
ちなみにディストリビューションは
RedHat7.1です。引き続き宜しくお願いします。
0445名無しさん@お腹いっぱい。02/01/09 11:52ID:lzfPILoX
>>444
</Directory>
<Directory "/var/www/html">
Options Indexes Includes FollowSymLinks

AllowOverride Limit AuthConfig
Allow from from all

Order Deny,Allow
</Directory>
Allowよりorderが後になってる。先にしてみる。
044644202/01/09 12:08ID:Joi15J75
>>445

<Directory "/var/www/html">
Options Indexes Includes FollowSymLinks

AllowOverride Limit AuthConfig
Order Deny,Allow
Allow from all

</Directory>
このように変えてrestartを試みましたが
認証はダメでした。
でも、ご指摘ありがとうです。
0447名無しさん@お腹いっぱい。02/01/09 12:20ID:lzfPILoX
>>446
.htpasswdファイルを置く場所を変えてみる。
public_htmlのなかに置いてやってみる。
(htaccessで隠しておくのを忘れずに。)
044844202/01/09 13:10ID:Joi15J75
>>447
おょ、できました。感謝感謝!
なぜ、public_html配下でなければ認証できないんでしょうかね。
まぁ、なにはともあれうまくいきました。
どうもありがとうございました!
0449名無しさん@お腹いっぱい。02/01/09 13:23ID:lzfPILoX
>>448
httpdの実行権限と、ディレクトリのパーミッションの問題かと。
045044202/01/09 13:36ID:Joi15J75
なるほど。そのあたりを調整して、再度別ディレクトリに
パスワードファイルを置いてトライしてみます。
助かります!!
0451名無しさん@お腹いっぱい。02/01/09 16:17ID:PoWF+H4k
iモードのサイトで.htaccessでPC弾いてるんですけど、
アクセス可にしてる携帯のリモホでもたまに入れないという人が出てきます。
なんれでしょ?
0452名無しさん@お腹いっぱい。02/01/09 16:52ID:???
設定内容書けやヴォケ
と言ってみるテスト
0453名無しさん@お腹いっぱい。02/01/09 16:59ID:aGKZgHSQ
>>451
パケット代節約できるサービスやってるサイトで、ヘッダ好き放題削るから。
045445102/01/09 17:21ID:???
www.hanpake.comは一応通してます。

それより、docomo.ne.jpの連中が入れないらしいです。
0455名無しさん@お腹いっぱい。02/01/09 17:26ID:aGKZgHSQ
>>454
mopera.ne.jp通してる?
ていうか、リモホではじかず、素直にUser Agentではじきなよ。
0456名無しさん@お腹いっぱい。02/01/09 19:45ID:???
芋機はHTTP1.1はサポートしてませんっ。
0457 02/01/11 00:51ID:???
# で付けられるコメントは行の途中からでも使えますか?
例えば、次のような形で。

  deny from .111.gikogiko.org  # 逆ギレ教えて君なので制限
  deny from .222.hogehoge.com  # 宣伝野郎なので制限
0458未完成人02/01/11 15:32ID:???
質問です。
00のフォルダ内へのアクセスを、トップ(index.html)から以外、全て拒否し、
拒否だけでなくトップに飛ばしたくて、試行錯誤しています。
ディレクトリは下記のようにしてあります。
***.com/00/menu.html
***.com/00/.htaccess
***.com/index.html


AddType text/x-server-parsed-html .html

RewriteEngine on
RewriteCond %{HTTP_REFERER} !(^$|^http://www.〜index.html.*$) [NC]
RewriteRule !^http://www.〜index.html$ - [F]

としましたが500エラーがでます。モジュールが無いとか、そんなオチですか?
やっぱり、リファラー使った方が良いのですかしら?
使いづらい鯖ですが、CGIは許可されているので、
多少めんどくさくても、CGIがあればそれでもいいのですが・・
御教授お願いします。
0459名無しさん@お腹いっぱい。02/01/11 15:59ID:VyO4wc0+
500エラーがどうのという以前に、referer でアクセス制御するとマヌケなトラブルが
続出するのでやめておいた方がよろしいかと。
0460名無しさん@お腹いっぱい。02/01/11 16:24ID:???
>458
>361 参照 + Error Documentのカスタマイズで、出来るような気がする。
0461名無しさん@お腹いっぱい。02/01/12 14:34ID:???
>>458
セッション管理しろ。
0462名無しさん@お腹いっぱい。02/01/13 10:00ID:???
あげ。
046345102/01/13 13:52ID:???
>>451ですけど、下記は問題有りますか?

Order deny,allow
Allow from docomo.ne.jp
Allow from nttdocomo.co.jp
Allow from em.nttpnet.ne.jp
Allow from cmchuo.uttpnet.ne.jp
Allow from jp-c.ne.jp
Allow from jp-d.ne.jp
Allow from jp-h.ne.jp
Allow from jp-k.ne.jp
Allow from jp-q.ne.jp
Allow from jp-r.ne.jp
Allow from jp-s.ne.jp
Allow from jp-n.ne.jp
Allow from jp-t.ne.jp
Allow from ido.ne.jp
Allow from mnx.ne.jp
Allow from dion.ne.jp
Allow from mopera.ne.jp
Allow from www.yappo.ne.jp
Allow from www.hanpake.com
Deny from all
0464名無しさん@お腹いっぱい。02/01/13 19:51ID:ZVwva7KE
>>463
Order deny,allow
Deny from all
Allow from docomo.ne.jp
Allow from nttdocomo.co.jp
Allow from em.nttpnet.ne.jp
Allow from cmchuo.uttpnet.ne.jp
Allow from jp-c.ne.jp
Allow from jp-d.ne.jp
Allow from jp-h.ne.jp
Allow from jp-k.ne.jp
Allow from jp-q.ne.jp
Allow from jp-r.ne.jp
Allow from jp-s.ne.jp
Allow from jp-n.ne.jp
Allow from jp-t.ne.jp
Allow from ido.ne.jp
Allow from mnx.ne.jp
Allow from dion.ne.jp
Allow from mopera.ne.jp
Allow from www.yappo.ne.jp
Allow from www.hanpake.com

こう書いてほしい。
0465名無しさん@お腹いっぱい。02/01/13 20:02ID:???
>>463
.htaccessって、正規表現使えたっけ?
使えるんだったら
Allow from jp-[cdhknqrst].ne.jp
とかですっきりするよね。
0466名無しさん@お腹いっぱい。02/01/13 23:44ID:???
>>465
SetEnvIfディレクティブ使わないと使えなくない?
Apache1.3.13以上だけど。どう?>おぉる

http://httpd.apache.org/docs/mod/mod_setenvif.html
0467名無しさん@お腹いっぱい。02/01/16 02:26ID:???
あげ。
0468名無しさん@お腹いっぱい。02/01/16 20:18ID:ehyHqP4c
Win98でApache動かしてるんですが、
.htaccessでアクセス制限したい場所が
C:\Inetpub\wwwroot\space
の場合、
AuthUserFileには
どういう風に書けばいいですか?
0469名無しさん@お腹いっぱい。02/01/16 21:55ID:GdU1i3KG
>468
IISかい?
IISって使った事ないから分からんけど、Apacheと同じ.htaccess表記でいいのなら、
ただ単にc:/xxx/xxx/xxxxとすりゃいい。
つまり、\を/に置き換えるだけ。
0470名無しさん@お腹いっぱい。02/01/16 22:30ID:???
>>469
Apacheと書いてあるだろうと言ってみるテスト。
047146802/01/17 20:19ID:OS4Vm8pb
>>469
ありがとうございます!いけました!
0472名無しさん@お腹いっぱい。02/01/17 20:59ID:SNXATm9b
サーバーで htaccess 使えないので、
CGIでパスワード認証しようと思います。
ですが、いろいろフリーCGIを見たのですが、
どれも認証画面がHTMLでカッコ悪いです。
正規画面というか、通常のプログラムで出す
ダイアローグを表示させるには
どうしたらいいんでしょうか?
0473sage02/01/17 21:01ID:z9wGIyEs
>>472
PHPを使う。
というかあのダイアログかっこわるい。
047447202/01/17 21:05ID:SNXATm9b
すいません。
初心者なもんで、PHPとかいわないで。
0475名無しさん@お腹いっぱい。02/01/17 21:58ID:???
>>472
CGIからダイアログは出せるけど、
入力されたユーザ名とパスワードを取得できないので無理。
0476名無しさん@お腹いっぱい。02/01/17 23:05ID:???
>474
プロに依頼する。
047747202/01/18 02:11ID:C376kSM6
JavaScript でもムリですよね〜。
なら、カッコだけの問題なのであきらめます。
0478名無しさん@お腹いっぱい。02/01/20 00:45ID:XUizz/7u
質問させてください。
サーバに.htaccessファイル置いたらmidやrmを再生できなくなってしまいます。
例えば
AddType audio/midi .mid .midi
だけの内容でアップしてもだめです。空の設定ファイルなら影響しませんでしたが。
サーバは設定変更を許可しているようです。
原因わかる方、ご助言よろしくお願いします。
0479名無しさん@お腹いっぱい。02/01/21 13:40ID:hWcQ0KB7
クリックしたら、mpegファイルを再生じゃなくてダウンロードさせるには
.htaccessにどうかけばいいのでしょうか?
お願いします。
0480名無しさん@お腹いっぱい。02/01/21 14:13ID:???
>>479
AddType application/octed-stream mpg
AddType application/octed-stream mpeg
かな。
Content-Typeではなくて拡張子で判断するブラウザだったらお手上げだが。
0481名無しさん@お腹いっぱい。02/01/21 14:27ID:???
>>480
ありがとうございます。実は
AddType application/octed-stream mpg
は既に試してダメだったので質問したのですが
ブラウザにも問題があったのですね。。
048248002/01/21 21:31ID:???
>>481
AddType text/plain gif
AddType image/gif txt
として、以下の3つのブラウザで動作を確認してみた。
ちなみに、元がGIFイメージで、拡張子がgifとtxtに変えてあるファイルに、
<img src=>としてリンクを張った場合も検証してみた。

IE6
拡張子を変える前のファイルタイプの表示のようだ。
下がGIF画像なら、拡張子が何であれ画像が表示される。
Content-Typeも関係ないようだ。

N6、NC4.7
Content-Typeに見合った表示がなされる。
image.gifなら(今回は)GIF89a…と表示され、
image.txtなら画像、
text.gifならプレーンテキストで、
text.txtだと壊れた画像として扱われる。

ちなみに、IMGタグを使った場合はいずれのブラウザでも、
拡張子、Content-Typeに関係なく表示された。
#ただしSRCが正しいGIF画像であることが前提。
0483名無しさん@お腹いっぱい。02/01/22 11:00ID:???
あげ
048448102/01/22 15:06ID:???
>>482
わざわざ検証していただきありがとうございます。
相手はMacのIEだったので
私にはダウンロードさせる方法がわからなかったのです。

とりあえずネスケの shift+クリック で事なきを得ました。。
0485名無しさん@お腹いっぱい。02/01/22 16:52ID:???
Basic認証をブラウザのダイアログなどではなく、
HTMLのフォームから行う方法はありませんか?

URLに含めるのはブラウザで丸見えなのでキモイし、
CGIでAuthorizationヘッダを付けてリクエストしても、
ブラウザが認証してないのでページ切り替えると認証ダイアログが出ます。

あとは各ページをCGI経由でGETする頭の悪い処理しか思いつかないので、
良い方法がありましたら教えてください。
0486名無しさん@お腹いっぱい。02/01/22 19:57ID:???
全然意味が分からないけど
頭が悪い、と言う事は理解しました
0487名無しさん@お腹いっぱい。02/01/22 20:21ID:???
>485
よくわからないけれど、認証ダイアログを格好よいブラウザを作って、配布すればよいと思うよ(w
0488名無しさん@お腹いっぱい。02/01/22 21:28ID:???
>>485
.htaccess ではどうしようもないなぁ。
気持ちは理解るんだけども。
0489名無しさん@お腹いっぱい。02/01/22 21:46ID:uFQ5u3Nn
>485
1)formでPOST使ってcgiに飛ばす。
2)cgiがLocationつかってid@password:www.hogetara.com/members/
とかいう形式で認証のコーナーに飛ばす。
3)refreshかredirectつかって、即違うコンテンツに飛ばす。

で、どう?
0490名無しさん@お腹いっぱい。02/01/22 22:07ID:???
>>485
フレームでURL隠す
0491名無しさん@お腹いっぱい。02/01/22 22:35ID:wEDyM6/K
つか、クッキー使ったセッション管理とかすることになるんかね。

>>489 の 2番目の方法ってどうなんだろ。使えるなら結構イイかも。
ブラウザはちゃんとその id とパスワードを記憶して
他のページにも適用してくれるんだろか。

>>490
それはあかんやろ。
0492名無しさん@お腹いっぱい。02/01/22 22:38ID:uFQ5u3Nn
>491
2番目って・・・・一連の作業だよ(笑)。
>ブラウザはちゃんとその id とパスワードを記憶して
>他のページにも適用してくれるんだろか。

マジレスとネタ、どっちが欲しいですか?(笑)
0493名無しさん@お腹いっぱい。02/01/22 22:43ID:wEDyM6/K
あれ?

.htaccess で制限されてるディレクトリがあって、って話しだよね?
1) はともかく、 3) の意味がよくわからなかったもんで。
認証のコーナーってのが form 付きのとこで、
飛ばす先ってのは、.htaccess で制限されてるコンテンツだよね?

で、>>492
マジレスきぼん。
今一問題を理解してないです。
0494名無しさん@お腹いっぱい。02/01/22 22:52ID:uFQ5u3Nn
まぁまずやってみたら?
0495名無しさん@お腹いっぱい。02/01/22 22:56ID:???
>>494
今ちょっとやれる環境にありませぬ。
そんなつれないこといわないでおしえてくださいな。
0496ほげ02/01/22 23:13ID:ZsiuexQD
まずは自分で悩んで悩んで悩みぬくこと。これ大切ですな。
049748502/01/23 11:32ID:???
>>489
ありがとうございました。
上手く行きましたが、履歴にはパスワード付きURLがしっかり残ります(;´д`)

お金のもらえない仕事なので、
クライアントに「ダイアログじゃだめなのかゴルァ」してみます。
0498名無しさん@お腹いっぱい。02/01/23 11:35ID:Gdq9JiCf
>497
うん。履歴はしょうがないよね。
ブラウザの基本認証の方がいいと思う。当然だけどね。
お金のもらえない仕事か・・・・つらいね(笑)
0499名無しさん@お腹いっぱい。02/01/23 21:32ID:A2zgpsde
http://isweb39.infoseek.co.jp/play/aomanga/index.html   
0500名無しさん@お腹いっぱい。02/01/23 22:12ID:???
500
0501名無しさん@お腹いっぱい。02/01/26 01:53ID:OaOeJGXN
すいません、.htaccessでサブドメインの設定って出来ますか?
www.hogehoge.com/2ch/ を 2ch.hogehoge.com/ にしたいのですが・・・
どこかのサイトで見た覚えがあるんですが、検索しても見当たらないもので。
宜しくお願いします。
0502名無しさん@お腹いっぱい。02/01/26 03:18ID:???
<VirtualHost>
0503名無しさん@お腹いっぱい。02/01/26 03:45ID:Gzv+cYuy
>501
出来ない。
httpd.confを直接叩かないとダメ。
0504名無しさん@お腹いっぱい。02/01/26 04:44ID:OaOeJGXN
>>503
あ、、そうなんですか。。じゃあ専用鯖にしないとダメなんですね。
ありがとうございました。
0505名無しさん@お腹いっぱい。02/01/26 12:11ID:???
>>504
httpd.confだけじゃなくてDNSにも追加が必要。いちおう念のため。
0506名無しさん@お腹いっぱい。02/01/27 20:20ID:G1nCl+Va
htaccessで404のページをカスタマイズできるのは分かるんですが(404.htmlに飛ばすとか)、
実際には存在しない間違ったURL(例えばhttp://www.xxx.com/abc.html)をアドレス欄に表示したまま
カスタマイズしたページを表示させることは可能でしょうか?

サーバ自体の設定をいじらないとダメ?
050750602/01/27 20:28ID:G1nCl+Va
サーバはレン鯖でコバルトRQです。
0508名無しさん@お腹いっぱい。02/01/27 22:04ID:???
鯖がコバルトとかはあんま関係無いよ。んで、

ErrorDocument 401 /401.html
↑アドレス欄に表示したまま

ErrorDocument 401 http://www.hogehoge.com/401.html
↑Redirect
050950602/01/27 22:23ID:???
>>508
できました。
今まで ErrorDocument 404 404.html とかしてて、相対パスは無理なのか・・って思ってたんですが、
スラッシュ必要なんですね。。

ありが�d!
0510名無しさん@お腹いっぱい。02/01/29 22:30ID:dV9eFTfQ
>>506と似たような内容ですが。

.htaccessで、404のページをcgi-bin/404.cgiに飛ばしたいので、
ErrorDocument 404 http://hoge/cgi-bin/404.cgiと指定しました。

うまいこと飛んでくれるんですが、レダイレクトしてるせいか、
$ENV{REQUEST_URI}に/cgi-bin/404.cgiが表示されてしまいます。

ErrorDocument 404 /cgi-bin/404.cgiと指定すると飛んでくれないし、
どうしたらいいんでしょ?
0511名無しさん@お腹いっぱい。02/01/29 23:17ID:???
>>510
URIのトコをドキュメントルートからの絶対Pathにしたらどない?
051251002/01/30 12:07ID:???
亀レスすまんです。

<<511
/public_html/cgi-bin/404.cgi ってことですよね?
これでもあきまへんねん。
051351002/01/30 17:55ID:???
>>512
DocumentRootからのPathは設定によって違うから一概には不明ですが、
そんな感じでしょう。私の環境なら /user名/public_html/ほげほげ
だから
ErrorDocument 404 /gonorego/public_html/cgi-bin/404.cgi
こんな感じ。

ところで絶対Pathで上手くいかないって云うのは『REQUEST_URI』が『./404.cgi』
ってこと?それとも『404.cgi』が見つけられないって言うエラーのどっち?
前者は私の環境では上手くいったんだけど。
後者ならPathの設定ミスであると推測。
051451002/01/30 18:15ID:???
>>513
どうやらウチはpublic_htmlはないようでした。

絶対パスで、http://www.hoge.jp/cgi-bin/404.cgi
とすると、そのファイルに飛んではくれるものの、
『REQUEST_URL』が『./404.cgi』と表示されて意味がない、とうパターンです。
0515名無しさん@お腹いっぱい。02/01/30 18:17ID:jvP4y3Zo
>514
>絶対パスで、http://www.hoge.jp/cgi-bin/404.cgi
それは絶対パスではありません。URIです。
051651002/01/30 18:27ID:???
>>515
ごめんなさい。
絶対パスで、/cgi-bin/404.cgiとしても指定ファイルに飛ばず、
サーバの初期設定のファイルが表示されちゃいます。
0517名無しさん@お腹いっぱい。02/01/30 19:02ID:S3Nwnngo
>>516
絶対パスってのは、
ローカルでの絶対パスのことですよ。
URL 空間での絶対パスじゃありません。

うちだと、

/var/www/htdocs/ http://www.giko.gr.jp/

この場合、http://www.giko.gr.jp/hoge.html は
URL 空間では /hoge.html
ローカルでは /var/www/htdocs/hoge.html

実際に 404.cgi が置いてあるローカルなパスを指定しろってことです。
0518名無しさん@お腹いっぱい。02/01/30 19:17ID:???
こんな感じで出来るが。

ErrorDocument 403 /error403.shtml
ErrorDocument 404 /error404.shtml
ErrorDocument 500 /error500.shtml
051951002/01/30 19:17ID:???
>>517
なるほど。非常にためになりました。
サーバはレンタルなのですが、

/ (ルートディレクトリ)
|
|--- home
|
|--- cgi-bin

となっており、ルートディレクトリには.htaccessを置けず(当たり前?)、
homeディレクトリに.htaccessを置いて試しています。
052051102/01/30 19:17ID:???
おっと、ボケてた。513は511ね。

実践的には環境変数を表示するScriptを動かしてDocumentRootからのPathを
調べると良いかも。
『SCRIPT_FILENAME』から『DOCUMENT_ROOT』を除けばそのScriptのDocumentRoot
からの絶対Pathに成る筈(大方ね)。その辺は試行錯誤してみるよろし。
ま、サーバ管理者に訊くと早いとは思うけど。

ただ、『絶対パス』『ドキュメントルート』『DocumentRoot』あたりで
検索して勉強することをお勧めする。
■ このスレッドは過去ログ倉庫に格納されています