1

我在域的根目錄中有一個.htaccess文件和一個index.html文件。我有下面的代碼在此.htaccess文件:如何通過編輯.htaccess文件獲取404時返回200?

DirectorySlash Off 

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.*[^/])?$ /index.html [L] 

我希望用戶將看到index.html中的內容,當他們進入到一個目錄URL不管這個目錄URL已斜線與否。所以我有上面的代碼。

但我有一個問題。當我訪問不存在的目錄時。我得到了404.這不是我想要的。我希望用戶在訪問目錄網址時總能獲得200美元並查看index.html中的內容。如何通過在.htaccess文件中編輯上述代碼來解決此問題?

順便說一句。請勿將用戶重定向到index.html文件。

謝謝!

回答

6

創建一個自定義404頁面,並將其稱爲例如「404page.php」。請確保此頁面將通過把這個頂部發送任何其他內容到瀏覽器之前200種狀態:

<?php 
header("Status: 200 OK"); 
?> 

然後在你的htaccess進入ErrorDocument 404 /404page.php

+0

謝謝你的幫助!蓋亞。有用。 :-)但是,如果我只通過編輯.htaccess文件就可以實現這一點,那將是更好的解決方案。我的意思是不要編輯.php文件。 – weilou

+0

這個問題是關於'.htaccess'文件的。不是關於在PHP中返回'404'。 – NHG