2013-10-01 53 views
1

我想每個網址或文件被重定向到index.php,但有一些例外(見下文)。它在我的本地服務器上正常工作,但在真實服務器上它不能像它應該那樣工作。htaccess重定向到index.php忽略每一個其他的php文件

我的問題是,有類似collection.php的文件打開時,我打入瀏覽器url並被我的htacess忽略。這些文件應該被重定向到我的index.php。我能做什麼?

我的htaccess:

# html5 pushstate (history) support: 

AddHandler php5-cgi .php 

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

<ifModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /WALT/ 

#rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index 
RewriteCond %{REQUEST_URI} !/content/create/ [NC] 
RewriteCond %{REQUEST_URI} !/img/ [NC] 
RewriteCond %{REQUEST_URI} !/video/ [NC] 
RewriteCond %{REQUEST_URI} !/favicon.ico [NC] 
RewriteCond %{REQUEST_URI} !/cms/ [NC] 
RewriteCond %{REQUEST_URI} !^/collection.php [NC] 

RewriteRule (.*) index.php [L] 

</ifModule> 
+0

這是在'DOCUMENT_ROOT/WALT'目錄中使用嗎? – anubhava

+0

@anubhava的確的確是 – user2525589

+0

哪個網址無法按預期工作? – anubhava

回答

0

有一個在你的Apache(或其他Web服務器)的配置。在聲明VHOST的ConfigFile中,確保「AllowOverwrite」設置爲「ALL」

最佳調試方法是激活RewriteLogs臨時。所以你看到錯誤可能在哪裏。

+0

難道你不是指'AllowOverride'而不是AllowOverwrite? – geomagas

+0

謝謝,我不認爲我可以訪問任何其他東西,但我會看看。來自域的支持人員說這是因爲RewriteCond%{REQUEST_FILENAME}!-f,因爲這會檢查文件是否不存在。但是存在collection.php,所以這就是爲什麼它不起作用。如果我放棄它,那麼它根本不起作用 – user2525589

相關問題