頑張らない!でも諦めない!必死にならずにええかげん

Google or AdMax Promotion(page)

RewriteRuleで%{REQUEST_URI}の使用

一般的にmod_rewriteを利用してRewriteRuleに記載するパターンとして、
「RewriteRule ^(.*)$…$1」の組み合わせが利用されます。
しかし変数化の必要もなく「%{REQUEST_URI}」が利用できるとのことなので検証します。
結果、ルートディレクトリであれば%{REQUEST_URI}の利用は、
ルートディレクトリに配置した.htaccessで利用したほうが良さそうです。

 

RewriteRuleで%{REQUEST_URI}サーバー変数の利用

リダイレクト転送に対して紹介されているサイトの多くが
「RewriteRule ^(.*)$…$1」と$1が利用されています。

ここでは、%{REQUEST_URI}が利用できることを確認します。

 

サブディレクトリ配下の場合

http://q-modrewrite.trce.info/request_uri/.htaccess には以下のように記述しています。

 

RewriteRule .* http://redirect.trce.info%{REQUEST_URI} [R=302,L]

 

上記のとおり「(.*)」ではなく「.*」として記述していますので、
要求URLの変数化を行っていません。

 

実際のアクセス確認

以下のサブディレクトリにアクセスし、
要求パスが転送先に引き継がれるかを確認します。

http://q-modrewrite.trce.info/request_uri/request_uri_subdir/

転送先 ⇒ http://redirect.trce.info//request_uri/request_uri_subdir/ (404)

http://q-modrewrite.trce.info/request_uri/

転送先 ⇒ http://redirect.trce.info//request_uri/ (404)

 

引き継がれてはいるのですが、
このようなサブディレクトリに対して配置した場合のせいなのか、

%{REQUEST_URI} によって「/」が多く付与されてしまいます。

 

このままでは少し使いにくくて困りますね。

また挙動が気持ち悪かったので、ルートでも試しときます。

 

ルートディレクトリの場合

ドメインルートに配置した.htaccessでの挙動を検証します。

配置している.htaccessは同じです。

http://requesturi-val.trce.info/.htaccess

 

実際のアクセス確認

以下のサブディレクトリにアクセスし、
要求パスが転送先に引き継がれるかを確認します。

http://requesturi-val.trce.info/

転送先 ⇒ http://redirect.trce.info/

 

http://requesturi-val.trce.info/request_uri/

転送先 ⇒ http://redirect.trce.info/request_uri/

 

http://requesturi-val.trce.info/request_uri_subdir/

転送先 ⇒ http://redirect.trce.info/request_uri_subdir/

 

http://requesturi-val.trce.info/request_uri/request_uri_subdir/

転送先 ⇒ http://redirect.trce.info/request_uri/request_uri_subdir/

 

ルートディレクトリで%{REQUEST_URI}を利用する上では、
「/」が重複するようなことも発生せず、

変数化の必要もなく安心して転送を行うことができます。

 

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

イメージとしてはどこに配置した.htaccessであっても、
要求パスはドメイン以降のURL部分に感じます。

しかし、%{REQUEST_URI}に格納されてくるパスの値は、
サブディレクトリでは上位のパス名が含まれてきていないように見受けられます。

これって、RewriteCond側で%{REQUEST_URI}を利用しても同じなんだろうか・・・。

そんな印象を受けたことはないんだけど。

 


公開日:

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。
アルゴリズン

役に立ったと思っていただけたら、以下からシェア頂けたら幸いです^^

QRコードからもこのURLを開けます。

ページ
すべて展開 | すべて省略

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。
ロゴの使用等に関する苦情・ご意見等がございましたら管理者までご連絡ください。

Rakuten Promotion