質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

2回答

15444閲覧

htaccess で特定のファイルを除外する

dbullock

総合スコア14

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

1クリップ

投稿2017/03/01 08:25

###前提・実現したいこと
htaccessでリダイレクト設定をしていますが、
特定のディレクトリ
aaa/bbb
から、http://www.abc.jp
にリダイレクトします。

但し
aaa/bbb/file.html
についてはリダイレクトを除外。
という設定にしたいのですがうまく出来ない状態です。

ご教示いただけると幸いです。

###発生している問題・エラーメッセージ

該当のURLにアクセスしても http://www.abc.jp にリダイレクトされてしまいます。

###該当のソースコード

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !\^/aaa/bbb/file.html$ RewriteRule aaa/bbb(.*) http://www.abc.jp [R=301,L]

###試したこと
検索してみてもいかんせん記述方法が
わかってないので、原因がわかりません。
ご教示いただければ幸いです。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

^の前に付いている\を取れば良いです。何故そんな物を付けたのでしょうか?

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !^/aaa/bbb/file.html$ RewriteRule aaa/bbb(.*) http://www.abc.jp [R=301,L]

投稿2017/03/01 13:35

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dbullock

2017/03/02 00:43

otn様 ご教示ありがとうございます。 \ は既存の設定で付いており、ついた状態でうまく動作していたようです。 うまく確認できなかった原因に、Win Chromeのキャッシュがクリアされてなかった事象に ひっかかって混乱していました。 おかげ様でUPできそうです。
guest

0

RewriteCond %{REQUEST_URI} !=/aaa/bbb/file.html RewriteCond %{REQUEST_URI} /aaa/bbb RewriteRule ^(.*)$ http://www.example.com/ [R=301,L]

でよいのでは。
RewriteCondで/aaa/bbb を指定しないと、/aaa/bbb/file.html以外の全てのパスが対象になってしまいますし。

投稿2017/03/01 08:47

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dbullock

2017/03/01 09:29 編集

kunai 様。ご回答ありがとうございます。 ご指摘のとおりに記述してみましたが、一行目のファイルにアクセスしても リダイレクトされてしまいました。 apacheのバージョンとかでしょうか。 他、調査してみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問