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

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

新規登録して質問してみよう
ただいま回答率
85.48%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

.htaccess

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

Q&A

解決済

1回答

871閲覧

.hteaccessでの正規表現を使ったリダイレクトついて

test_tarou

総合スコア13

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

.htaccess

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

0グッド

0クリップ

投稿2016/12/27 08:30

編集2016/12/27 12:11

.htaccessを使ってのリダイレクトについて質問です。

/html/(pcかsp)/lp/test/
/html/(pcかsp)/lp/test/index.*
↓へリダイレクト
/lp/test/

.htaccessでの正規表現を使ったリダイレクトを想定しているのですが、
正規表現が苦手でして、なかなか回答に辿り着けません。

「/html/(pcかsp)」 と「index.*」を除外することを想定しており、testの所は可変値でtest/test/testという可能性もあります。

詳しい方がいましたら、ご教授頂けますと幸いです。

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

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

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

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

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

Y.H.

2016/12/27 08:35

/html/(pcかsp)/lp/test/ /html/(pcかsp)/lp/test/index.html /html/(pcかsp)/lp/test/index.php この3つ以外はリダイレクトしないのでしょうか? /html/(pcかsp)/hoge/test/ とか /html/(pcかsp)/lp/test/hoge/ とか
test_tarou

2016/12/27 08:41 編集

Y.H.さん>コメントありがとうございます。「/html/(pcかsp)」 と「ファイル名」を除外することを想定しています。
guest

回答1

0

ベストアンサー

この6通りのURLだけが対象なら、正規表現を使わず単純に6つ書き並べるのが簡単で良いかと思います。

#追記に対して

「/html/(pcかsp)」 と「index.*」を除外することを想定しており、testの所は可変値でtest/test/testという可能性もあります。

「除外」という言葉の用法が不明ですが、ファイル名部分がindex.*の物を書き換え対象にしたいという意味だとすると、書かれてないことも適当に想像して補うと、こんな感じでしょうか。

RewriteEngine on RewriteRule html/(pc|sp)/(.*)/index\..* /lp/$2/ [R]

投稿2016/12/27 08:44

編集2016/12/27 12:23
otn

総合スコア84542

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

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

test_tarou

2016/12/27 08:56 編集

ご回答ありがとうございます。 testのところは数パターンになる予定で、パスになる可能性もありますので、 正規表現がよいかと思っています。
otn

2016/12/27 09:13

それでは、そのパターンに合致する正規表現を書けばいいのではないでしょうか? 教えてもらうつもりがあるなら、そのパターンを書かないと。
test_tarou

2016/12/27 12:12

質問文が下手糞で申し訳ありません。 本題としては、正規表現がわからないということでした。 質問を修正しています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問