我想重定向一个 url,除非有一个名为 login 且值为 false 的参数。在几个正则表达式测试器上对其进行了测试,它可以像我想要的那样工作。但是当涉及到服务器时,它不会。我总是被重定向到 ?login=true。
为什么?
RewriteRule (.*)write((?!/?login=false).)*$ ?login=true [L]
我想重定向一个 url,除非有一个名为 login 且值为 false 的参数。在几个正则表达式测试器上对其进行了测试,它可以像我想要的那样工作。但是当涉及到服务器时,它不会。我总是被重定向到 ?login=true。
为什么?
RewriteRule (.*)write((?!/?login=false).)*$ ?login=true [L]
RewriteRule 仅匹配主机名之后和查询字符串之前的所有内容。您需要使用 RewriteCond 和%{QUERY_STRING}
变量。
RewriteCond %{QUERY_STRING} !login=false
RewriteRule (.*)write$ ?login=true [L]
有关更多信息,请参阅文档。
RewriteRule (.*)write$ ?login=true [QSA]
RewriteCond %{QUERY_STRING} !name=
RewriteRule .? - [S=1]
RewriteRule (.*)write$ ?login=true [L]
让它现在对我有用