除一个目录外的域的Mod重写

时间:2012-08-09 18:34:46

标签: .htaccess mod-rewrite

我是htaccess的新手,无法弄清楚这里发生了什么。我试图让所有重定向到指向index.php的PAGEID = pageName。

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

现在,我有这个工作,但我需要它才能正常行动,当它到达目录'test',但每当我转到domain.com/test我被推到index.php?PAGEID = test

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

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

1 个答案:

答案 0 :(得分:0)

我认为这种逻辑存在一些问题。因为在这个示例'domain.com/test'中,我们编写了一个条件,将domain.com之后的所有字符串(test)替换为'index.php?pageid = test'。

问题是'index.php'也是域名domain@index.php?pageid ..之后的字符串。这里重写条件也适用,它将重写它。

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

或者如果'test'是一个静态字符串,那么在重写条件中我们可以指定为仅将字符串'test'替换为'index.php / pageid = test'