.htaccess htaccess在多个404重定向上发送404状态

unguejic  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(102)

我的.htaccess文件中有以下规则

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/en-us/
Rewriterule ^(.*) /en-us/error-404/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Rewriterule ^(.*) /error-404/ [L]

当有以/en-us/开头的请求时,我可以看到/en-us/error-404/页面的内容,在其他情况下,我可以看到/error-404/页面的内容。但是,从服务器收到的状态码是200 OK
是否可以在两种情况下都发送404 Not Found

xv8emn3q

xv8emn3q1#

您可以使用if/elseif/else条件来使用不同的ErrorDocument指令:(提供Apache 2.4+规格)

<If "%{REQUEST_URI} =~ m#^/en-us/#">
   ErrorDocument 404 /en-us/error-404/
</If>
<Else>
   ErrorDocument 404 /error-404/
</Else>

相关问题