.htaccess 404 htaccess中的重定向不工作

.htaccess 404 htaccess中的重定向不工作,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个由CMS生成的htaccess。无论我做什么,我的404重定向都不会导致我的自定义404页面 我确实有这个: RewriteEngine On RewriteBase / ErrorDocument 404 /404.html 而且它似乎没有这部分的文件工作 RewriteRule ^news/([^/]*).html$ index.php?uri=$1&uriFor=news [L] RewriteRule ^([^/]*).html$ index.php?uri=$1&am

我有一个由CMS生成的htaccess。无论我做什么,我的404重定向都不会导致我的自定义404页面

我确实有这个:

RewriteEngine On
RewriteBase /
ErrorDocument 404 /404.html
而且它似乎没有这部分的文件工作

RewriteRule ^news/([^/]*).html$ index.php?uri=$1&uriFor=news [L]
RewriteRule ^([^/]*).html$ index.php?uri=$1&uriFor=pages [L]
RewriteRule ^([^/]*)/$ index.php?uri=$1&uriFor=category [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !([^/]*)/$
RewriteRule ^([^/]*)$  $1/ [L,R=301]
RewriteRule ^(([^/]*)_offset_([0-9]+))/$ index.php?uri=$1&uriFor=category&offset=$2 [L]
RewriteRule ^([^/]*)_show_all/$ index.php?uri=$1&uriFor=category&show_all=yes [L]
#RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?uri=$3&uriFor=product [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?uri=$2&uriFor=product [L]

谁能告诉我原因是什么吗?

我明白。问题是如何修复它,而不是破坏系统的完整性。我不是很擅长htaccessWhat URL是你要求的,你会期望404?你到底看到了什么?尝试请求
/foo/bar/baz
。关键是,如果您使用的是CMS,那么404很可能由CMS控制,而不是由Apache控制。CMS中的页面通常不是文件系统中的物理文件。但是CMS没有这样的功能。这是一个自行编写的cmsI,请参阅一个简单示例:404未找到请求的URL在此服务器上未找到。如何限制此覆盖规则?如何使404页面重定向到404.html?注释掉所有规则,看看
errordocument404
是否有效。一旦成功了,就开始取消对每个重写规则的注释,看看是哪个规则导致了问题。