1

我正在尝试编写一个重写条件,其中

  1. 如果我在 URL 中看到 Server,它不能重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !^/Server/(.*)$ /redirect.php?page=$1 [L]
  1. 但是当我没有服务器时,我也希望它转到redirect.php。但是, $1 变量永远不会挑选出我输入的内容。它总是空白

为什么?

4

1 回答 1

0

(.*)永远不会填充,或者更好的是,它仅在您不想要它的情况下填充,因为它仅在您有Serverurl 时才填充。

所以我认为你想要的是一个 rewriteCond 不包括包含的 url Server,然后是一个 rewriteRule 捕获所有内容并将其用作参数,这样:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/Server/ [NC]
RewriteRule (.*) /redirect.php?page=$1 [L]
于 2013-11-11T14:24:02.190 回答