我的htaccess 404规则设置如下:
ErrorDocument 404 /404.htm
但这是发生了什么
不存在的URL,没有扩展名: https://www.example.com/bgbgbgbgbg重定向到https://www.example.com/404.htm(正确的行为)
不存在带点的网址: https://www.example.com/bgbgbgbgbg。重定向到https://www.example.com/404.htm(正确的行为)
不存在的网址,带有扩展名: https://www.example.com/bgbgbgbgbg.htm重定向到“找不到文件”(应重定向到 https://www.example.com/404.htm)
以斜线结尾的网址: https://www.example.com/bgbgbgbgbg/重定向到没有CSS的奇怪404页面,并且浏览器地址栏中的网址不变(应重定向到 https://www.example.com/404.htm)
我做了一些研究,并试图在ErrorDocument 404 /404.htm下实现这些代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . https://www.example.com/404.htm [L]
它解决了所有问题,但是将主页(https://www.example.com)重定向到https://www.example.com/404.htm
我该怎么做才能解决首页问题?
答案 0 :(得分:1)
要将不存在的请求重定向到404错误页面,您可以简单地使用:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.+$ /404.htm [L,R]