.htaccess 使用htaccess重定向404错误

.htaccess 使用htaccess重定向404错误,.htaccess,redirect,http-status-code-404,cpanel,.htaccess,Redirect,Http Status Code 404,Cpanel,我的htaccess文件中有以下404重定向 ErrorDocument 404 /index.html 如你所见,如果有人点击了一个不存在的URL,比如 http://example.com/NonExistingFolder/nonExisting.html 虽然这会重定向到位于根级别的my index.html, 它找不到index.html中引用的css、js文件 因为它试图在不存在的文件夹下查找那些 如何解决此问题?如果要显式禁用路径信息,则必须在.htacceess文件中

我的htaccess文件中有以下404重定向

ErrorDocument 404     /index.html
如你所见,如果有人点击了一个不存在的URL,比如

http://example.com/NonExistingFolder/nonExisting.html
虽然这会重定向到位于根级别的my index.html, 它找不到index.html中引用的css、js文件 因为它试图在不存在的文件夹下查找那些


如何解决此问题?

如果要显式禁用路径信息,则必须在.htacceess文件中使用:

AcceptPathInfo Off

这是一种正常的行为,因为您肯定在为所有资源(图像、css、js、href链接等)使用相对路径

要解决这个“问题”,必须使用绝对路径

一种方法是用绝对链接替换所有的相对链接。
示例(对于css):


变成

<link rel="stylesheet" type="text/css" href="/css/style.css">

请注意前面的斜杠,它表示路径从根级别开始

另一个解决方案是在所有页面的
html标记之后添加

<link rel="stylesheet" type="text/css" href="/css/style.css">