2

我是新手,但最近几天一直在研究 .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]

我已经搜索了条件等,但没有任何关于编写这样一个语句的可能性的“是或否”,尽管我发现了类似的方面(在此处的 stackoverflow 上找到),例如:

RewriteCond %{QUERY_STRING} (^|&)user=upgrade(&|$) [NC]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&user=upgrade&tool=$2 [L]

无法让它工作。

4

0 回答 0