2010-08-12 99 views
1

我在我的網站根目錄下安裝了drupal,它下面有一個名爲xi-admin的目錄,該目錄在做密碼保護時有一個.htaccess。問題是,它是否將http://www.example.com/xi-admin/改寫回index.php?RewriteRule - 文件夾異常(帶破折號)

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^(xi-admin|xi-admin/.*)$ 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

回答

0

嘗試改變

RewriteCond %{REQUEST_URI} !^(xi-admin|xi-admin/.*)$ 

RewriteCond %{REQUEST_URI} !^/xi-admin 
0

在您的配置,在一個規則參照foo,在對方/bar,其中一人將永遠不會匹配。

要麼選擇:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/(xi-admin|xi-admin/.*)$ 
RewriteCond %{REQUEST_URI} !=/favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

或者另一種選擇使用相對尋址,這我會建議,因爲它的工作原理,即使這個目錄會在後面的目錄層次結構被移動到別的地方:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(xi-admin|xi-admin/.*)$ 
RewriteCond $1 !=favicon.ico 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]