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

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}を利用しても同じなんだろうか・・・。

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

 


公開日:

最後までお読みいただきありがとうございました。

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

Rakuten Promotion

ブログ記事のご紹介
すべて展開 | すべて省略