One*_*erd 0 php apache redirect
我在PHP应用程序中使用自定义404页面.
在该404页面上,我检查某些不再存在的"已知"旧页面,然后将用户重定向到更新或最相关的当前页面.效果很好.
现在我面临一系列已被删除的旧图像,并且正在寻找一种将图像重定向到新图像的方法(如果可能的话,在PHP代码内部).
我曾短暂地追捕并空出来.
有什么办法吗?
以下是我的代码示例:
<?php
//-- grab info regarding bad request --
$root = $_SERVER['DOCUMENT_ROOT'];
$page = parse_url($_SERVER['REQUEST_URI']);
$page = $page['path'];
$referer = $_SERVER['HTTP_REFERER'];
$host = $_SERVER['REMOTE_HOST'];
//-- try to redirect old pages/files ----------------------
//
$page = urlencode($page);
if ( stristr($page, "some_old_file.zip") ) {
// Example file redirect
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/file.zip\">";
} elseif ( stristr($page, "some_old_page.php") ) {
// example webpage redirect
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site.com/the/new/page.php\">";
} elseif ( stristr($page, "some_old_image.jpg") ) {
// not sure how to do this ...
// ...
// ...
// ...
// ...
// ...
// not sure how to do this ...
} else {
// everything else - direct to custom 404 search page
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://www.site/com/the/custom/404_help.php?page={$page}\">";
}
//
// -------------------------------------------------------
?>
Run Code Online (Sandbox Code Playgroud)
而不是输出元刷新,使用位置标头
header("Location: /path/to/image.jpg\r\n");
Run Code Online (Sandbox Code Playgroud)
\ r \n只是一个用来分隔标题的新行.
注意:标头必须在任何其他输出之前发送
| 归档时间: |
|
| 查看次数: |
2673 次 |
| 最近记录: |