2012-06-19 68 views
1

在Nginx中,我使用了try_files,它基本上接受了域上文件的任何請求,並通過一個名爲file_parse.php的自定義php腳本傳遞它。在Nginx中,它看起來像這樣:try_files $ url /file_parse.php類似於Nginx的Apache重寫規則try_files

如果該文件確實存在於文檔根目錄中,則它不使用try_files。 Nginx的這條規則不會重定向用戶,例如,如果用戶輸入的地址在瀏覽器中顯示的地址是http://www.domain.com/123456.html,但是file_parse.php需要123456.html和echo的HTML代碼(123456)。如果file_parse.php沒有任何東西可以回顯,那麼file_parse.php會爲客戶端設置一個404頭。

在Apache中是否存在類似這樣的事情?

回答

0

在Apache中是否存在類似這樣的事情?

看看的mod_rewrite的RewriteMap指令,特別是prg地圖類型,它允許你運行一個腳本,並將其傳遞請求信息。

3

找到了答案,似乎在error.log中工作,沒有錯誤:

<Directory /this/is/the/directory/> 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . file_parse.php [L] 
</Directory>