用于Luddite的自定义404重定向

时间:2017-06-21 作者:Deacon

对于可能误用编码术语,我提前表示歉意。在这方面我不是很熟练。

在一个单独的网站上,我有一些链接,点击后会弹出一个。与功能的唯一id相对应的pdf图像:
/Images/{ID}.pdf
结果如下example.com/Images/1234.pdf 对于功能部件1234

现在让我们假设有人单击了功能1235的链接,但没有相应的链接。pdf。该页面当前重定向我在wordpress中创建的通用404页面。如何使其直接指向特定页面example.com/Images/nopdf.pdf 对于子域/图像/下的所有不存在的页面?我提前感谢你的简单回答
谢谢,
执事

2 个回复
最合适的回答,由SO网友:WebElaine 整理而成

我建议在你的主题中定制你的404模板。这样,您可以添加一个条件,仅当人们试图访问PDF时,才将其发送到“未找到PDF”。如果他们试图访问任何其他不存在的文档类型(如网页),他们仍然会看到您的常规404页面。

要设置此项,请执行以下操作:

如果尚未使用自定义主题或子主题,请设置一个。这样,当您更新主题时,您就不会丢失自定义设置。

在(子主题或自定义主题)的根目录中编辑或创建一个名为“404.php”的文件。内容应如下所示:

<?php
// check the requested URL
$requestUrl = "$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// see if the URL contains the "Images" folder
preg_match(\'/Images/\', $requestUrl, $matches);
// if the URL matches, it will be a non-empty array
if(count($matches) > 0) {
    wp_redirect(\'your-pdf-url-here\');
// if the URL didn\'t match, use the normal 404 template
} else {
    // your normal theme 404 code, starting with get_header();
    // ...
    // ...
    // don\'t forget the closing } at the end of the file
}
?>
如果您不想编辑主题文件,还有另一种选择。你可以创建一个插件来做同样的事情。基本上,你检查一下is_404(), 然后输入相同的代码-如果URL包含图像文件夹,请重定向到pdf。你不需要一个“else”条件,你只需要让WP做它正常的事情。

SO网友:lowtechsun

欢迎使用wordpress。stackexchange。com。

How to create custom 401, 403 and 500 error pages?

请看一下上面的答案,看看它是如何做到的。简而言之,您需要将当前的404页定向到example.com/Images/nopdf.pdf 把这个放进你的.htaccess 文件

ErrorDocument 404 example.com/Images/nopdf.pdf

我甚至不确定作为错误文档提供PDF是否是一个好主意。制作一个简短的PHP文档,如果必须的话,里面有PDF。还请记住,只要站点上出现404错误,就会加载此文件,而不仅仅是在找不到图像时。

结束

相关推荐

在特定页面上加载Header.php

(TL;DR 以下提供)我在使用Divi主题时遇到了一个问题。我正在使用Gravity表单插件生成一个具有多重上传的表单。这种多重上传似乎使用了Ajax,从我的小测试来看,这似乎与Divi相冲突。(我将CDN置于开发模式并停用了所有插件,上载按钮/拖放仍然不起作用)。这个问题的解决方案是删掉一些代码:gravity_form_enqueue_scripts( 2, true ); 开业前<?php 以及wp_head(); ?>. 然而,这与台式机上的全宽Divi头冲突。在某种意义