実現したいこと
htaccessでリダイレクトしたいです。
発生している問題・分からないこと
質問1
「RewriteRule [A] [B]」のBに入るURL指定でドット記号のエスケープは不要なのか?
解説サイト0を見るとドット記号はエスケープが必要なようである。しかし「RewriteRule [A] [B]」のBに入るURL指定でドットをエスケープしていない解説サイトしか見たことがなく、B部分は正規表現の記号を使える部分なのにドット記号のエスケープは不要なのか疑問に思った。NEフラグがついていない構文に関してはドットがエンコードがされる為ドットはエスケープ不要なのかと思ったが情報が見つからなかった。
質問2
RewriteRuleでの%1(後方参照)を使う時にNEフラグをつけなくていいのか?
解説サイト1を見ると「NEフラグ=".", "?", "%"などの特殊文字が"%25″のようにエンコードされるのを防ぐ」とある。%1など後方参照を行うには、NEフラグ無しだと%がエンコードされてしまうと思い、NEフラグをつけるのかと思いきやそうしていない構文が記載された解説サイト2があった。
該当のソースコード
apache
1RewriteEngine on 2RewriteCond %{HTTPS} off 3RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 4RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 5RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,L]
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
「RewriteRule エスケープ」「正規表現 エスケープ」と調べ、特殊な意味の記号を使う時には、NEフラグをつけたりエスケープが必要だと解釈したが、実際のhtaccessの構文を調べてみるとエスケープしたりNEフラグをつけていないサイトがあった為、混乱してしまった。
補足
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/08/01 11:11
2024/08/02 01:05
2024/08/02 09:59
2024/08/07 06:30
2024/08/08 15:30 編集
2024/08/08 08:33
2024/08/08 09:51
2024/08/09 01:12
2024/08/09 02:46