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

.htaccessに関する質問です。以下の条件を満たす.htaccessの書き方がわかる方教えてください。

http://xxx.net/diary/ にアクセスした場合は、http://xxx.net/weblog/ にリダイレクトをしたい
http://xxx.net/diary/?date=yyyymmdd にアクセスがあった場合はリダイレクトを行わないようにしたい

よろしくお願いします。


●質問者: sonosonosono
●カテゴリ:ウェブ制作
✍キーワード:.htaccess アクセス リダイレクト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● SaY
●40ポイント

こんにちは。

ブログの更新は終わったけど、過去ログはそのままにしたいってケースでしょうか。


ここの情報を見ると、以下でできませんかね?

ポイントは、一つ目の条件で、Lオプションを指定して、置換を終了させることです。

RewriteEngine On

RewriteBase /

RewriteRule http://xxx.net/diary/?date=(.*) http://xxx.net/diary/?date=$1 [L]

RewriteRule http://xxx.net/diary/ http://xxx.net/weblog/

◎質問者からの返答

そうです。Blogの更新は終わったのですが、過去ログはそのままにしておきたいというのが意図です。ありがとうございます。

残念ながら、後者の方のアクセスでうまくいかないようです。


2 ● GEN111
●30ポイント
RedirectMatch permanent ^/diary/$ http://xxx.net/weblog/

こんな感じでどうでしょうか。

(場所は /diary/.htaccess)


mod_alias - Apache HTTP サーバ

◎質問者からの返答

残念ながら、前者の方のアクセスでリダイレクトされてしまいます。


3 ● b-wind
●30ポイント
RewriteEngine On
RewriteCond %{QUERY_STRING} .+
RewriteRule .* - [L]

RewriteRule ^/(.*) http://xxx.net/weblog/$1 [L]

こんなところかな。

date 以外のクエリにも対応できるはず。

Apache module mod_rewrite

◎質問者からの返答

残念ながら、後者の方のアクセスでうまくいかないです。


4 ● GEN111
●100ポイント ベストアンサー
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule .* http://xxx.net/weblog/ [R]

これではどうでしょうか。


RewriteCond - RewriteRuleの条件を設定

◎質問者からの返答

ありがとうございます!

意図したとおりの動作になることを確認しました。

関連質問


●質問をもっと探す●



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