私は初心者ですが、ここ数日間 .htaccess mod_rewrite を研究しており、ようやく頭を抱えています。クエリ文字列が特定のものと等しいかどうかを確認する簡単なチェックが可能かどうか疑問に思っていました..例:
#First check
RewriteCond $1 !^(img|font|js|css|scripts) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
#if $2 is upgrade, use this ReWrite
RewriteCond %{QUERY_STRING} $2=upgrade
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&subpage=upgrade&tool=$2 [QSA,L]
#If not found... Use this regular ReWrite
RewriteCond $1 !^(img|font|js|css|scripts) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&user=$2 [QSA,L]
私は条件などを検索しましたが、そのようなステートメントを書く可能性について実際に「はいまたはいいえ」になるものは何もありませんでしたが、同様の側面を見つけました (ここでスタックオーバーフローにあります)。
RewriteCond %{QUERY_STRING} (^|&)user=upgrade(&|$) [NC]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&user=upgrade&tool=$2 [L]
それを機能させることができませんでした。