0

httpd.conf ファイルにいくつかのルールを書きました。それは正常に動作します。1番目と2番目のパラメーターに一致し、一致した場合はリダイレクトしないように RewriteCond を書きたいと思います。

URL がモバイル/ログインの場合、またはモバイル/管理者のリダイレクトは発生しないはずですが、どうすればよいですか。

-- アップデート --

RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile|Nokia*| Opera*)" [NC]
 RewriteCond $1 !web
 RewriteCond $2 !login
 RewriteCond $2 !admin
 RewriteRule ^(.*)$ /web/index.php [R,L]

ここで $2 の部分は機能しません。

4

1 に答える 1

0

!RewriteRule のパターンの先頭に文字を追加します。

詳細については、ドキュメントを参照してください。

アップデート

$2 は機能しません。これは、RewriteRule パターンにキャプチャ用の括弧が 1 セットしかないためです。これはおそらくあなたが探しているものです:

RewriteCond %{HTTP_USER_AGENT} "!(android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile|Nokia*| Opera*)" [NC]
RewriteCond $1 !(web|mobile/login|mobile/admin)
RewriteRule ^(.*)$ /web/index.php [R,L]
于 2012-08-08T10:06:32.090 に答える