プロが教える店舗&オフィスのセキュリティ対策術

急遽、今日の今日、サイトを準備中表示にしなければならなくなりました。
よって、htaccessを使ってトップページ以外へのアクセスを全てトップページへリダイレクトしたいのですが、htaccessファイルの中身はどのように記述するのでしょうか? 知識が全くなく、検索調べもしておるのですが、別のノウハウは見かけますがズバリがなかなか見当たらない状況です。
なお、ページが沢山あるので各ページをひとつひとつリダイレクトリストに入れていくのは無理です。「ALL」のような指示で済ませたく思っております。

今日の今日で申し訳ありませんが、ご存知の方いらっしゃいましたら宜しくお願い致します。

A 回答 (7件)

いっそ、アクセス制限をかけて、エラーをリダイレクトしてみるというのはどうでしょう?



deny from all
ErrorDocument 403 /index.html

という感じで試してみては?
    • good
    • 0
この回答へのお礼

ありがとうございます!
トップページだけが問題になるだろうなと思いながらも早速試しました!
やはりトップページまで表示されないです・・・お、惜しい・・・・・
このソースはまさしく「all」という記述で「全てのURL」という機能を
持たせてあると思いますが、これに加えて「ただし、トップページ以外」
という記述のさせ方がないものでしょうか。

お礼日時:2006/03/15 13:47

Order deny,allow


deny from all
ErrorDocument 403 /index.html
<Files index.html>
Allow from all
</Files>
こんなんは?

参考URL:http://httpd.apache.org/docs/2.0/ja/sections.html
    • good
    • 0

自分で調べようとしてる?



http://www.shtml.jp/htaccess/redirect.html
で私が言った部分に「パターンマッチ」「正規表現」という言葉があるけど、どういう意味かわかってる?

htaccessで正規表現がどのように使われているか、検索しな。特定のファイルに対して行う方法が出てくるから。

    • good
    • 0
この回答へのお礼


お礼日時:2006/03/15 15:50

hm.


ところで、http://www.shtml.jp/htaccess/redirect.htmlに書かれていることは全て試したのかな?
ずずずいっと下にスクロールすると「RedirectMatch」が紹介されているよね。
これだけだとちょっとわかりにくいけど、そのままGoogle先生に聞けば……
http://www.ksknet.net/apache/url.html
#すべてのリクエストをリダイレクトします。
    • good
    • 0
この回答へのお礼

この方法はトップページにリダイレクトされた時もまたリダイレクトが発生すと思います。なので無限ループになっちゃいます。
再度投稿いただきありがとうございました。それも近い情報だったので参考になりました。

お礼日時:2006/03/15 13:40

試した事は無いですけど。


http://www.shtml.jp/htaccess/redirect.html
もしくは、ファイル一括変換でメタタグを挿入かな。メタタグでのリフレッシュは携帯向けには使用できませんが・・・。
    • good
    • 0
この回答へのお礼

ご案内のページですが、No.1さんの補足に書きましたように、そうなんです私もやってみたんです。しかし、うまくいったとしてもこれではダメでした。何故ならば、例えば以下のようなパーマネントを.httaccessに記述するとします。
Redirect permanent /pdt/ http://www.abcdefg.com/
そうしますと、「pdt/info.html」というページをブックマークしている人がダイレクトにアクセスしてきたら、リダイレクト先はドメイン直下のinfo.html、つまり、
http://www.abcdefg.com/info.html
という、「単にディレクトリの部分だけを引っこ抜いただけのURL、だから存在しないURL」にリダイレクトされてしまうので、存在しないURLにジャンプばかりしてしまうことになり、これではFile No Foundの嵐です(^_^;)

実際に作って存在するページのどのページにアクセスされても、全てトップページにリダイレクトしたいだけなので、「全てのページをトップページへリダイレクトする」という記述方法があれば、それ一発で済みそうに思うのですが・・・・・。
トップページ以外削除して、無いページにアクセスあったらトップページにリダイレクトする方法もありますが、経験上と先行きを考えると、まだサイトにアップしている全てのファイルはそのまま存在させておかなければなりません。

「ALL」を表す記述方法でもあればなぁ・・・と思っているのですが・・・・・。
例えば、
Redirect permanent /all/ http://www.abcdefg.com/
とかですね。
※モチロン、これでは単に「all」というディレクトリを指定してしまうだけのものになってしまって機能しませんが・・・・・

リフレッシュについてはNo.1さんと同じご回答なので、同様に使うことができないです。

有難うございました。

お礼日時:2006/03/15 09:37

ファイルを全部削除(退避)して、404をTOPにつなげれば良いのではないでしょうか。


http://mikeneko.creator.club.ne.jp/~lab/web/htac …
http://www.shtml.jp/htaccess/404.html

この回答への補足

済みません、お礼欄の.httaccessの記述部分が何故か文字化けしておりました。
Redirect permanent /all/ ​http://www.abcdefg.com/
が正しいです。
アレ? やっぱり確認画面みたらまだ文字化けしますね・・・・・
何でだろう? No.3さんのお礼欄には化けずに投稿できたんですが・・・
コピペしてやってるんですけどねぇ・・・・
仕方ないのでNo.3さんへのお礼欄をご参照ください(^_^;)

補足日時:2006/03/15 09:48
    • good
    • 0
この回答へのお礼

済みません、私からの情報が足らなかったです。
ファイルを削除して404をトップへリダイレクトする方法は出来ないんです。
削除したことによる経験上のトラブル想像と、すぐ復活しないとも限らない本件の不透明な先行きを考えると、まだサイトにアップしている全てのファイルはそのまま存在させておかなければならないんです。全てのファイル名をちょっといじる手もありますが、ディレクトリ・ファイルともにメチャクチャ多いのでちょっと難しいです。

実際に作って存在するページのどのページにアクセスされても全てトップページにリダイレクトしたいだけなので、「全てのページをトップページへリダイレクトする」という記述方法があれば、それ一発で済みそうに思うのですが・・・・・。
「ALL」を表す記述方法でもあればなぁ・・・と思っているのですが・・・・・。
例えば、
「Redirect permanent /all/ ​http://www.abcdefg.com/​」
とかですね。
※モチロン、これでは単に「all」というディレクトリを指定してしまうだけのものになってしまって機能しませんが・・・・・

投稿ありがとうございました

お礼日時:2006/03/15 09:44

JavaScriptじゃダメでしょうか?


「リダイレクト JavaScript」で検索するとサンプルがいろいろ見つかるんですが…

この回答への補足

それからちなみに、以下のURLで、
http://www.shtml.jp/htaccess/redirect.html

「Redirect permanent /test/ http://www.shtml.jp/htaccess/
とするとできるとあるのですが、ダメでした・・・・・
存在するディレクトリ内のページが表示されなくはなるんですが、
「500 Internal Server Error」のページが出て、リダイレクトをしてくれないんです。何でだろう・・・・

補足日時:2006/03/14 12:50
    • good
    • 0
この回答へのお礼

JavaScriptは残念ながらダメでだと思うんです。OFFにしているユーザーが沢山いますので・・・・
また、Refreshもページ分やらないといけないので恐ろしいことになります(^_^;)
投稿いただきありがとうございました。

お礼日時:2006/03/14 12:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!