2010-02-08 134 views
0

我做維修工作的CMS,並已發現了下面的htaccess文件:htaccess的幫助需要

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
#RewriteBase/


RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

我無法理解它。 的原因去尋找htaccess文件是這樣的: 我把一些代碼在index.php文件(現在只是一些打印字符串的文件,但 最終會做旗幟循環),我已經注意到了字符串被打印的幾次,當我加載index.php。可以有一些連接到htaccess文件?

thanx提前爲任何輸入。

+0

它不應該有任何連接。你可以添加你改變的代碼嗎(只有相關部分)?如果你回滾到原來的index.php,這個問題是否顯示出來? – 2010-02-08 22:49:46

+0

thanx, 這是index.php中的相關代碼: file_put_contents($ text_file,$ _SERVER ['PHP_SELF'],FILE_APPEND); 並且輸出是: /itportal.co.il/index.php /itportal.co.il/index.php/uploads/76126568849640.png /itportal.co.il/index.php/uploads/13126494098846 .jpg /itportal.co.il/index.php/uploads/34126569172238.png /itportal.co.il/index.php/uploads/12125938246345.jpg /itportal.co.il/index.php/uploads/ 35126534663389.jpg 等。 – samoyed 2010-02-09 08:55:55

回答

0

這只是檢查文件是否ex ists(作爲文件-f或目錄-d)。如果沒有,它會將地址傳遞給index.php。

舉例來說,如果你問:

www.mysite.com/badfile.html

您將獲得:

www.mysite.com/index.php/badfile.html

這應該沒有任何影響如何在index.php中運行的代碼。這隻影響在請求不存在的文件和目錄時發生的情況。

+0

謝謝你的回答。只是要清楚 - 如果badfile.htm被請求,將index.php再次加載? - 這可以解釋爲什麼 打印到文件的代碼運行幾次,而不僅僅是index.php的初始加載。 如果是這樣,每次請求不存在的文件或目錄時,主頁將被重新加載,這對我來說至少是很奇怪的,至少是.. 這是index.php中的代碼 file_put_contents($ text_file, $ _SERVER ['PHP_SELF'] ,FILE_APPEND); 和輸出是: /itportal.co.il/index。php /itportal.co.il/index.php/uploads/76126568849640.png ... etc .. – samoyed 2010-02-09 08:54:56

+0

如果index.php請求badfile.html,那麼是的,index.php會再次被調用。基本上,它會被index.php請求的每個不存在的文件調用。這意味着你最終可能會有一個循環,因爲對index.php的新調用可能會再次請求壞文件。 – 2010-02-09 18:38:48

0

請求是在Web服務器上的文件時,拒絕訪問的index.php

RewriteCond %{REQUEST_FILENAME} !-f 

請求是web服務器上的物理目錄,拒絕訪問的index.php

RewriteCond %{REQUEST_FILENAME} !-d 

任何除上述以外,重定向到index.php

RewriteRule ^(.*)$ index.php/$1 [L]