如果动态页面中不存在404重定向,我会遇到一些问题。
我正在检索MySQL上的文章,在article.php上我有以下内容来检索页面的信息。
if(isset($_GET['article_uid']))
{
$information = $articleClass->retrieveArticleInfo();
$article_title = $information['article_title'];
$article_image = $information['article_image'];
$article_content = $information['article_content'];
$article_image_alt = $information['article_image_alt'];
$article_quote = $information['article_quote'];
}
网址如下所示:www.site.com/article/id/title-goes-here, 我遇到的问题是,如果页面不存在,我想显示404页面,问题是谷歌有我从MySQL删除的索引页面,但如果我尝试进入该页面,它就是'将显示article.php页面,但它将为空并且不会从MySQL检索数据,但问题是它仍允许某人进入该页面,即使它是空的。
如何向我的404页面添加重定向,如果我输入的内容如下,我知道以下内容有效.. www.site.com/ramdom-letters,它会带我到www.site.com/ 404.php,但如果我在任何其他页面,如www.site.com/article/,它将不会将用户发送到404.php
if(isset($_GET['article_uid']))
{
$information = $articleClass->retrieveArticleInfo();
$article_title = $information['article_title'];
$article_image = $information['article_image'];
$article_content = $information['article_content'];
$article_image_alt = $information['article_image_alt'];
$article_quote = $information['article_quote'];
} else {
header('Location: http://www.site.com/404/');
}
我在htaccess上使用以下代码将我的网址更改为对seo友好。
RewriteRule (?:^|/)article/([^/]+)/([^/]+)/?$ /article.php?article_uid=$1&article_title=$2 [L,QSA,NC]
ErrorDocument 404 http://www.site.com/404.php
答案 0 :(得分:0)
您可以使用php发送404标头,然后像这样重定向到404页面
header('HTTP/1.1 404 Not Found');
header('Location: http://www.site.com/404.php');
答案 1 :(得分:0)
我可以建议您编写自己的动态404页面(或文章)并将其保存在MySQL中。然后,当请求页面时检查它是否存在。如果没有,那么从MySQL获取动态404页面(或文章)并显示相反,也发送HTTP 404标题(对于机器人/抓取工具)。
header('HTTP/1.1 404 Not Found');
如果可能,我建议不要重定向到404页面。
header('Location: 404.html');