0

次の条件に一致するワイルドカード仮想ホストがあります。

RewriteCond %{HTTP_HOST} ^([a-z0-9_\-]+)\.([\d]+)\.mydomain\.com [NC]

このルールは機能します:

RewriteRule ^/?$       /index.php?customer=%1&cluster=%2&%{QUERY_STRING} [L]

ただし、パターンを複雑にしようとすると、次のようになります。

RewriteRule ^([\w\-]+)/?$ /index.php?customer=%1&cluster=%2&load=$1&%{QUERY_STRING} [L]

それはそれをキャッチしません。私は何が欠けていますか?

上記のルールでは: http://dev.0.mydomain.com:8080/は最初のルールで動作し ます http://dev.0.mydomain.com:8080/x/は 2 番目のルールで失敗します (つまり、最初のルールを変更します) 、ルールは 1 つだけです)

4

1 に答える 1

0

2 番目のルールには、先頭のスラッシュが含まれていません。ルールが vhost コンテキストにあると仮定すると、その部分が必要になります。具体的に^([\w\-]+)は、一致しません/anything。これは次のようになります^/([\w\-]+)

于 2012-07-08T23:20:09.890 に答える