htaccess 上的 404 重定向为 302

问题描述 投票:0回答:1

需要专业人士,拜托! 程序员做到了。

# Permanent URL redirect
RewriteEngine on

RewriteBase /

RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) https://example.com/$1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?secure/(.*) https://example.com$1 [R,L]

ErrorDocument 404 https://example.com/404.html
#END

** 问题 :** 不存在的网址将重定向为 302 而不是 404!

我只需要将不存在的页面重定向到 404.html,因为其他一些网站不断发送垃圾邮件并指向不存在的网址,例如 example.com/nothing-here.html

我有一个自定义的 404.html

我需要什么:

将 http 重定向到 https 将不存在的网址重定向到 404 作为 404.html 而不是 302

有人会检查我的 htaccess 并给我提示如何解决这个问题吗?

原来的程序员卖给我一个项目,但它不能正常工作:-(

我尝试修改我的 htaccess 但服务器给我错误并且没有加载页面。

.htaccess http-redirect http-status-code-404 custom-error-pages
1个回答
0
投票
RewriteEngine On
RewriteBase /

# Redirect HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Redirect non-existent files or directories to 404 page
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /404.html [L,R=404]

# Custom Error Document for 404
ErrorDocument 404 /404.html
© www.soinside.com 2019 - 2024. All rights reserved.