1

我在域的根目录中有一个 .htaccess 文件和一个 index.html 文件。我在这个 .htaccess 文件中有以下代码:

DirectorySlash Off

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

我希望用户在访问目录 URL 时能看到 index.html 中的内容,无论该目录 URL 是否带有斜杠。所以我有上面的代码。

但我有一个问题。当我访问一个不存在的目录时。我得到 404。这不是我想要的。我希望用户在访问目录 URL 时总是能得到 200 并看到 index.html 中的内容。如何通过在 .htaccess 文件中编辑上述代码来解决此问题?

顺便提一句。请不要将用户重定向到 index.html 文件。

谢谢!

4

1 回答 1

7

创建一个自定义 404 页面并将其命名为例如“404page.php”。确保此页面在向浏览器发送任何其他内容之前发送 200 状态,方法是将其放在顶部:

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

然后输入ErrorDocument 404 /404page.php你的htaccess。

于 2012-09-06T01:11:46.917 回答