2010-10-18 118 views
0

我爲我的網站創建了一個前端控制器。我想通過這個前端控制器將所有請求傳遞給網站。現在我還在web根目錄中安裝了一些其他軟件,現在我將這些文件夾添加到忽略通過.htaccess,以便他們的請求也不會去前端控制器。我在做類似下面,只通過.htaccess重寫特定的URL

 

    RewriteEngine On 
    RewriteCond $1 !^(folder1|folder2|folder3|robots\.txt) 
    RewriteRule ^(.*)$ index.php [QSA,L] 

這適用於現在,但有沒有辦法只添加特定站點或文件夾的請求通過index.php文件獲得通過的例如:www.mysite.com或www .mysite.com/folder4或mysite.com。

這樣我就不必一直添加文件夾來忽略創建新文件夾。

謝謝。

編輯:我會盡量讓它更簡單。我希望一個特定文件夾和主站點的所有請求都通過前端控制器。除了這些,所有的請求應照常處理

回答

0

你可以使用這些條件,而不是排除可以被映射到現有的文件或目錄的任何請求:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
0

可以使用SERVER_NAME變量:

RewriteCond %{SERVER_NAME} ! ^(www\.)?mysite\.com$ 
+0

好吧,我想要的是如果請求是http://www.mysite.com那麼請求應該通過index.php控制器。如果請求是http://www.mysite.com/folder1,那麼它不應該通過任何控制器。服務器名稱將是相同的,我只想使用控制器只有一些文件夾和主站點沒有。 – Harsha 2010-10-18 08:12:52