2010-05-25 28 views
0

我已經在IIS中成功地設置了它,但我不確定如何在Apache中執行此操作。我想請檢查文件是否存在,無論它是:如何檢查Apache中是否存在文件

/path/to/file.php 
/path/to/file.cfm 
/path/to/file.html 
/path/to/ 

如果文件存在,我想重定向到/ 404 /,在那裏我有做所有404相關文件處理。

最後,在IIS執行此操作時,它給我的東西像一個CGI.QUERY_STRING:

404;http://example.com/prettyurl 

可以在Apache做?

這是我迄今試過的,沒有成功。 (我可能在這裏下車的方式...)

RewriteEngine on 
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f 
RewriteRule (.*)$ /404/ [R,L,NC] 

謝謝..

回答

1

不要使用DOCUMENT_ROOT斜線......,簡單地做REQUEST_FILENAME !-f 感嘆號否定-f標誌。

+0

嗯,所以你的意思是: ! 「的RewriteCond%{} REQUEST_FILENAME - F」 似乎並沒有得以順利.. – Rick 2010-05-25 19:50:54

+0

嗯,我敢肯定,這個工程: 的RewriteCond%{} REQUEST_FILENAME -f! RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。* $ error.php [L] – 2010-05-25 20:54:19

+0

甜,這似乎已經爲我做了。我認爲我的Coldfusion服務器仍然存在一些配置問題,但是如果我重寫爲.html頁面,它就可以工作。非常感謝Mikulas! (我會投票「豎起大拇指」,但顯然我沒有足夠的聲望點!) – Rick 2010-05-25 21:40:06

相關問題