我想编写一个插件,在用户请求HTTP 404
时返回license.txt
,挂钩的正确action
是什么(阻塞的有效和有效方式)?
更新
因为我无法控制Web服务器,所以我必须将其作为插件
答案 0 :(得分:8)
解决方案实际上非常简单。 您需要创建写入.htaccess的插件。
<?php /* Plugin Name: Licence redirect Description: Redirects license.txt. to 404 Author: J. Wrong Version: 0.1 */ ?> <?php function lr_flush_rewrites() { global $wp_rewrite; $wp_rewrite->flush_rules(); } function lr_add_rewrites() { global $wp_rewrite; $lr_wp_rules = array( 'license\.txt$' => '[R=404,L]', ); $wp_rewrite->non_wp_rules = $lr_wp_rules + $wp_rewrite->non_wp_rules; } register_activation_hook( __FILE__, 'lr_flush_rewrites' ); add_action('generate_rewrite_rules', 'lr_add_rewrites');
答案 1 :(得分:2)
你做不到。使用标准的WordPress .htaccess
,对静态文件的请求根本不会传递给PHP,因此无法挂钩它们。
答案 2 :(得分:1)
有一个插件可以帮到你。只需设置要重定向的文件及其目标即可。它甚至保留了日志