2012-08-09 53 views
0

我是htaccess的新手,无法弄清楚这里发生了什么。我试图让所有重定向指向PAGEID = pageName的index.php。除一个目录以外的域的Mod重写

因此,domain.com/manager会被推送到index.php?PAGEID = manager。

现在,我有这个工作,但我需要它只是表现正常,当它击中目录“测试”,但每当我转到domain.com/test我被推到index.php?PAGEID =测试

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/test 
RewriteRule ^([\w/]*)$ index.php?PAGEID=$1 [L] 

有关如何使这项工作的任何想法?我错过了什么?

回答

0

我觉得这个逻辑有一些问题。因为在这个例子'domain.com/test'中,我们写了一个条件来替换domain.com之后的所有字符串(测试)为'index.php?pageid = test'。

问题是'index.php'也以域名'domain.com/index.php?pageid ..'后面的字符串形式出现。这里重写条件也是适用的,它会重写它。

我认为你应该尝试这样的事情。 htaccess, redirect virtual subdomain to URL parameter

或者,如果“测试”是一个静态的字符串,然后在重写条件,我们可以指定为仅替换字符串“测试”到“的index.php /的pageid =测试”