htaccess的RewiteCond(QUERY_STRING)与2-变量和重写正确(.htacc

2019-09-18 06:19发布

我需要从我重写URL:

HTTP://***.com/index.php猫=页= 1&VAR?

至:

HTTP://***.com/VAR/1

随着301重定向。

我得到这个至今:

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index.php\?
RewriteCond %{QUERY_STRING} ^cat=(.*)\&page=(.*)
RewriteRule . /%1/%2 [R=301]

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/(files|admin)/
RewriteRule ^(.*)/(.*)$ /index.php?cat=$1&page=$2 [L]

但第3条规则似乎并不在所有的工作。 (我在htaccess的初学者)

我怎样才能解决这个问题? 谢谢!

编辑:感谢杰茜,解决方法:

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index.php\?
RewriteCond %{QUERY_STRING} ^cat=(.*)\&page=(.*)
RewriteRule ^(.*)/(.*)$ /index.php?cat=$1&page=$2 [L,QSA]

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/(files|admin)/
RewriteRule ^(.*)/(.*)$ /index.php?cat=$1&page=$2 [L]

Answer 1:

将其更改为重写规则^()/()$ /index.php?cat=$1&page=$2 [L,QSA]和尝试



文章来源: .htaccess RewiteCond (QUERY_STRING) with 2 variable and rewrite properly