2010-07-27 44 views
2

我有以下网址:如果地址是子文件夹,Htaccess重写?

  1. www.mydomain.com/client
  2. www.mydomain.com/client/index.php
  3. www.mydomain.com/client/index.php? A = b
  4. www.mydomain.com/client/index.php?a=b & b = C

以下两个htaccess的文件存在:

  • www.mydomain.com/.htaccess
  • www.mydomain.com/client/.htaccess

我想编辑 “www.mydomain.com/client/.htaccess” 因此,如果您请访问www.mydomain.com/client,它将用户重定向到mydomain.com/client/clientarea.php。换句话说,1和2必须重定向到mydomain.com/client/clientarea.php,但3和4不能。

我该怎么做?

回答

3

试试这个:

RewriteEngine on 
RewriteBase/
RewriteRule ^client$ /clientarea.php [L] 
RewriteRule ^client/index.php$ /clientarea.php [L] 
1

htaccess的文件会被解析在他们发现的顺序,所以顶层一(mydomain.com/.htaccess)将阿帕奇甚至认为往下看之前,解析和执行在.../client子目录中。因此,您必须修改重写规则以检查请求是否包含子目录,而不是在找到该子目录时对其进行处理。