如何重定向到 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 在浏览器中更改。
确保在测试前清除浏览器缓存。
使用 .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 在浏览器中更改。
确保在测试前清除浏览器缓存。