当我通过编辑.htaccess文件获得404时,如何返回200?
我在域的根目录中有一个.htaccess文件和一个index.html文件。我在这个.htaccess文件中有以下代码:当我通过编辑.htaccess文件获得404时,如何返回200?,.htaccess,url-rewriting,http-status-code-404,http-status-codes,http-status-code-200,.htaccess,Url Rewriting,Http Status Code 404,Http Status Codes,Http Status Code 200,我在域的根目录中有一个.htaccess文件和一个index.html文件。我在这个.htaccess文件中有以下代码: DirectorySlash Off RewriteEngine on RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*[^/])?$ /index.html [L] 我希望用户在访问目录URL时,无论该目录URL是否有尾随斜杠,都能看到index.html中的内容。所以我有上面的代码 但我有个问题。当我访问一个不存在
DirectorySlash Off
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])?$ /index.html [L]
我希望用户在访问目录URL时,无论该目录URL是否有尾随斜杠,都能看到index.html中的内容。所以我有上面的代码
但我有个问题。当我访问一个不存在的目录时。我得到404。这不是我想要的。我希望用户在访问一个目录URL时,永远都能得到200,并在index.html中看到内容。如何通过在.htaccess文件中编辑上述代码来解决此问题
顺便说一句,请不要将用户重定向到index.html文件
谢谢大家! 创建一个自定义404页面,并将其称为“404page.php”。在将任何其他内容发送到浏览器之前,请确保此页面发送200状态,方法是将其置于顶部:
<?php
header("Status: 200 OK");
?>
然后在htaccess中输入
errordocument404/404page.php
。创建一个自定义404页面,并将其称为“404page.php”。在将任何其他内容发送到浏览器之前,请确保此页面发送200状态,方法是将其置于顶部:
<?php
header("Status: 200 OK");
?>
然后在htaccess中输入
errordocument404/404page.php
。谢谢您的帮助!盖亚。它有效。:-)但是如果我只通过编辑.htaccess文件就可以实现这一点,那将是一个更好的解决方案。我的意思是不要编辑.php文件。这个问题是关于.htaccess
文件的。不是关于用PHP返回404
。谢谢您的帮助!盖亚。它有效。:-)但是如果我只通过编辑.htaccess文件就可以实现这一点,那将是一个更好的解决方案。我的意思是不要编辑.php文件。这个问题是关于.htaccess
文件的。不是关于在PHP中返回404
。