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

htaccessのリダイレクトで、特定ディレクトリのみリダイレクトさせないことは可能でしょうか。
/、/hoge、/fuga、/piyo というディレクトリ構造があり、/と/hogeと/fugaにアクセスしたときは http://www.example.com/ にリダイレクトし、 /piyo にアクセスした際はリダイレクトせずにそのまま参照させたいのですが、何か方法はありますでしょうか。
レンタルサーバーのため、httpd.confの操作はできません。
また、JavaScriptやmetaによるリダイレクトなどの代替手段は使用できません。

●質問者: のぼる
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● パパトモ
●50ポイント

正規表現を使えばできますよ。
次のページが参考になると思います。

http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html


パパトモさんのコメント
補足するとhttpaccessの定義は下位ディレクトリに継承されるはず(httpaccessファイルが無いとき)なので、ルートディレクトリに記述すればよいはずです

2 ● y-kawaz
●50ポイント

トップディレクトリの .htacces に以下のようなRewriteRuleを書いておけば良いと思います。

RewriteEngine on
RewriteRule ^/?piyo - [S=1]
RewriteRule ^/?(.*) http://www.example.com/ [R,L]

RewriteRuleは上から順に処理されます。
2個目のRewriteRulede全てのパスへのアクセスをリダイレクトしていますが、
先にまず /piyo にマッチしたら[S=1]すなわち[skip=1]つまり次のRewriteRuleはスキップするので/piyoはリダイレクトされません。

関連質問

●質問をもっと探す●



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