Rewritecond不起作用

时间:2013-11-10 20:47:43

标签: apache httpd.conf

我正在尝试写一个重写条件

  1. 如果我在网址
  2. 中看到服务器,则不得重定向
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !^/Server/(.*)$ /redirect.php?page=$1 [L]
    
    1. 但是当我在那里没有Server时,我也想让它去redirect.php。但是,$ 1变量永远不会选择我输入的内容。它总是空白的
    2. 为什么?

1 个答案:

答案 0 :(得分:0)

(.*)永远不会被填充,或者更好的是,它只会在您不想要它的情况下填充,因为只有在您的网址中有Server时才会填充它。

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/Server/ [NC]
RewriteRule (.*) /redirect.php?page=$1 [L]