2011-11-07 43 views
0

我在一個網站上有一個.htaccess文件,我正在將其重寫爲從mydomain.com/sub/folder/到mydomain.com?index.php?controller=sub的網址& view =文件夾忽略圖像文件夾的重寫規則

不幸的是,我編寫它的方式意味着我無法訪問圖像,樣式表和其他鏈接的文件了。任何人都可以告訴我如何從重寫規則中排除特定的目錄/ URL請求?

道歉,如果這是一個新手問題,我仍然圍繞着這個mod改寫的東西!

.htaccess文件看起來像這樣:?

RewriteEngine敘述上 重寫規則^([A-ZA-Z0-9- ] +)/ $的index.php控制器= $ 1 重寫規則^([ a-zA-Z0-9-] +)/([a-zA-Z0-9 -_] +)/?的index.php?控制器= $ 1 &查看= $ 16

+0

是所有的圖像和CSS使用相對或絕對路徑鏈接? –

回答

0

如果你的圖片是在mydomain.com/images和您正在使用的頁面mydomain.com/sub/folder/瀏覽器將試圖嘗試通過mydomain.com/sub/folder/images/i.gif訪問圖像上相對鏈接鏈接到他們。但是,如果您將鏈接更改爲絕對鏈接,則瀏覽器將正確嘗試加載mydomain.com/images/i.gif。但是,RewriteRule會將其更改爲:mydomain.com/index/php?Controller=images&View=i.gif。爲了避免這種情況,你需要添加一些RewriteConds:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9-_]+)\/?$ index.php?Controller=$1 
RewriteRule ^([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)\/? index.php?Controller=$1&View=$2 

因此,在試圖訪問現有的文件/目錄時,不重寫的index.php。