用查询string重写URL

继续我在这里问我想要自动重写下面的url

http://testsite.com/siterootb/sample-page.php?bbi=value1&bbl=value2 

 http://testsite.com/siterootb/sample-page/value1/value2 

我的htaccess现在看起来像

 RewriteEngine on RewriteCond %{QUERY_STRING} !^$ RewriteRule ^(.*) http://localhost%{REQUEST_URI}%1? [R=301,L] ########################################################################### RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/siterootb/([^/]+)/([^/]+)/([^/]+) RewriteCond %{DOCUMENT_ROOT}/siterootb/%1.php -f RewriteRule ^/?([^/]+)/([^/]+)/([^/]+) $1.php?bbi=$2&bbl=$3 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [L] 

我已经通过URL重写 – 查询string , url重写查询string , wordpress如何删除? 从url使用htaccess和更多,无论我从[query-string] [.htaccess]

添加这些规则:

 RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /siterootb/([^.]+)\.php\?bbi=([^&\ ]+)&bbl=([^&\ ]+) RewriteRule ^ /siterootb/%1/%2/%3? [L,R=301] 

你必须匹配%{THE_REQUEST}变量的原因是因为你想从字面上匹配请求的内容,而不是URI。 URI随着规则的应用而改变,所以如果与%{REQUEST_URI}变量相匹配,您将匹配另一个规则所做的更改。