如何重定向到 404 但使用 .htaccess 在地址栏上保持错误 URL

How to redirect to 404 but keep wrong URL on address bar using .htaccess

使用 .htaccess,我正在尝试重定向到 404 我的网站上的规则运​​行正常

RewriteEngine ON
ErrorDocument 404 thedomain.com/404
RewriteCond %{REQUEST_URI} !\.php/?$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ .php [QSA,L]

但正如预期的那样,这也是 changing/redirecting 和 URL。例如,如果没有名为 dummy.php 的文件名,URL 将重定向到 thedomain.com/404.

我怎样才能保留现有的 URL (thedomain.com/dummy) 并重定向到 thedomain.com/404,就像 WordPress 404 页面中发生的那样。

让你的 .htaccess 代码像这样:

RewriteEngine On

ErrorDocument 404 /2021/404.php

RewriteCond %{DOCUMENT_ROOT}/2021/.php -f
RewriteRule ^(.+?)/?$ .php [L]

当您在 ErrorDocument 404 中有绝对 URL 时,它将执行完全重定向。然而,使用亲戚 URL 只会进行内部重写以防止 URL 在浏览器中更改。

确保在测试前清除浏览器缓存。