我正在尝试编写一个重写条件,其中
- 如果我在 URL 中看到 Server,它不能重定向
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !^/Server/(.*)$ /redirect.php?page=$1 [L]
- 但是当我没有服务器时,我也希望它转到redirect.php。但是, $1 变量永远不会挑选出我输入的内容。它总是空白
为什么?
我正在尝试编写一个重写条件,其中
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !^/Server/(.*)$ /redirect.php?page=$1 [L]
为什么?
(.*)
永远不会填充,或者更好的是,它仅在您不想要它的情况下填充,因为它仅在您有Server
url 时才填充。
所以我认为你想要的是一个 rewriteCond 不包括包含的 url Server
,然后是一个 rewriteRule 捕获所有内容并将其用作参数,这样:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/Server/ [NC]
RewriteRule (.*) /redirect.php?page=$1 [L]