2011-05-02 74 views
0

我在我的Web服務器中有一個.htaccess文件,它從我的URL中刪除index.php。 當我想要訪問位於我的web服務器子目錄中的.php文件時,就會出現問題。爲什麼.htaccess阻止訪問.php文件

我htacess文件是這樣的:

# Turn on URL rewriting 

RewriteEngine On 

# Installation directory 

RewriteBase/


# Protect application and system files from being viewed 

RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] 


# Allow any files or directories that exist to be displayed directly 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 

RewriteRule .* index.php/$0 [PT] 

現在,如果我想訪問一個PHP文件是這樣的:

http://www.mydomain.com/subfolder/assets/17041f49/tiny_mce/tiny_mce_gzip.php

服務器返回500錯誤。

我應該怎麼做才能解決這個問題?

謝謝。

+0

照照服務器錯誤日誌。它會告訴你它不喜歡的.htaccess的哪一部分。 – Doon 2011-05-02 20:23:19

+0

導致問題的'tiny_mce_gzip.php'文件中存在*最可能的錯誤 - 如果刪除了'.htaccess'文件,您是否仍然收到錯誤? – 2011-05-02 20:28:23

+0

我現在修改了它,將http://www.mydomain.com/subfolder/assets/17041f49的文件權限更改爲555.現在一切正常。這是爲什麼? – 2011-05-02 20:35:41

回答

0

也許你可以試試:

RewriteRule ^(.*).(css|js|xml|ico|png|gif|jpe?g)$ $1.$2 [L] 
RewriteRule ^.*$ index.php [L,QSA] 

然後得到所請求的URL在PHP USIG

$url = $_SERVER["REQUEST_URI"];