5

這是對Is there a way to force apache to return 404 instead of 403?的一種後續操作,它建議RedirectMatch到404來完成此操作。對.htaccess的請求應該返回404而不是403

它完美地適用於大多數的事情,但是,如果我要求:

http://example.com/.htaccess 

,我收到了403而不是404,如果我有(或沒有),這在我的.htaccess文件:

RedirectMatch 404 ^/\.htaccess$ 

有沒有辦法覆蓋默認的403 - 禁止從.htaccess文件本身內的Apache的行爲?

+3

這是要在Apache主配置文件或在您的虛擬主機完成的,在那裏獲得.HT *文件與返回HTTP 403.你可以簡單地改變它,而不必重寫。 – mauris

+1

@thephpdeveloper:添加,作爲一個答案,而不是一個評論:) – Konerak

+0

謝謝你們確認這一點。我只在''.ht *'文件處理的'httpd.conf'文件中看到過這一行,所以不敢確認。 – mauris

回答

1

就在我張貼了我的問題,我來到了朝以下解決方案:

  • 模仿默認服務器配置爲<Files>.ht文件的規則。
  • 允許他們。
  • 重定向到404

是這樣工作的:

<Files ~ "^\.ht"> 
    Order Deny,Allow 
    Allow from all 
    Satisfy All 
    Redirect 404/
</Files>