2009-08-20 69 views
0

我使用的是Zend Framework,所以我引導到一個名爲index.php的文件中。當然,我不希望圖像被引導,所以我添加了一個.htaccess文件。這裏是什麼樣子.htaccess cPanel上的Apache只能在某些情況下工作

/application 
/library 
/public (this is the root of the site) 
    /images 
    /js 
    .htaccess 
    index.php 

這是什麼寫在我的.htaccess:

RewriteEngine on 
RewriteRule !\.(js|ico|gif|jpg|png|mp3|mov|css)$ index.php 

這基本上是說,如果它不.js文件/ .ICO /等結尾,然後發送請求index.php。它在我的本地主機上工作得很好,但是當我真正把它放到網上時,它不會。它只是將所有內容都路由到index.php,而不管請求的結束。當mywebsite.com/images/wizard.gif應該只顯示圖片時,它會嘗試加載圖像控制器,這不是我想要的。

可能會出現什麼問題?我知道它正在讀取.htaccess。它讀取我的正則表達式錯誤嗎?爲什麼一個Apache服務器讀取錯誤,而另一個讀取它正確?任何幫助都會很棒。

+0

嘗試請求配置您的託管服務提供商有關.htaccess和覆蓋。如果他們不允許您使用.htaccess重寫某些配置,那可能會導致意外的行爲。 另外,也許他們不支持你所做的重寫。他們是否像你一樣使用相同的Apache版本? – nash 2009-11-09 11:20:53

回答

0

這是我的.htaccess如果你想給它一個嘗試:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ /index.php [NC,L] 

基本上它進行檢查,以確保該請求是不是一個目錄,符號鏈接或真實的文件,然後將其發送到index.php文件。否則,它將提供對文件/目錄的直接訪問

+0

它似乎有同樣的問題。我一定在做別的事...... – Ethan 2009-08-21 00:15:56

相關問題