我在网上找到了解决404问题的不同解决方案:
问题: 解决方案1和解决方案之间是否存在差异? 2从SEO的角度来看?我是否需要在解决方案1上使用R = 404,或者如果我转发到404,它对搜索引擎是否合适?
解决方案1 - A
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /404/? [L,QSA]
此解决方案显示404页面,但它显示状态代码200.所以我想知道这是否有任何缺点:
解决方案1 - B
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /404/? [R=404,L,QSA]
解决方案2
ErrorDocument 404 /404/
其中也显示了404页面,但确实抛出了404响应标题。
编辑已解决
强制404其他错误代码 此外,我有很多页面有300错误,我想告诉谷歌他们实际上不存在。所以我使用了第二个策略:
ErrorDocument 300 /404/
但这次它保留了300错误代码。有没有办法强制使用404代码,因为这些请求的页面不再存在。
解决方案:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /404/? [R=404,L,QSA]