1

%{REQUEST_URI}が%{HTTP_HOST}で始まる場合に書き換える方法は?

つまり、http://example.com/example.com_custom_text- > http://example.com/index.php?q=special&info=example.com_custom_text

普遍性があるため、%{HTTP_HOST}の使用は重要です。

動作しません:

RewriteCond %{REQUEST_URI} ^%{HTTP_HOST}
RewriteRule ^(.*)$ index.php?q=special&info=$1 [L,QSA]
4

1 に答える 1

1

%の式(2番目の部分)に変数を含めることはできませんRewriteCond。ただし、次のように、を使用し\1て同じ一致を逆参照し、URIとホストを組み合わせることができます。

RewriteCond %{HTTP_HOST};%{REQUEST_URI} ^([^|]+);/\1

したがって、リクエストが行われた場合http://example.com/some_path::

  • %{HTTP_HOST};%{REQUEST_URI}=example.com;some_path
  • ^([^|]+)一致example.comし、\1!=some_path

リクエストがあった場合http://example.com/example.com_some_path::

  • %{HTTP_HOST};%{REQUEST_URI}=example.com;example.com_some_path
  • ^([^|]+)の先頭に一致しexample.com、一致します\1example.com_some_path
于 2012-08-08T20:31:21.117 に答える