2

HTTP 404ユーザーが要求したとき に返すプラグインを書きたいのですが、フックlicense.txtする正しいaction方法は何ですか (ブロックする効率的かつ効果的な方法の両方)?

アップデート:

Web サーバーを制御できないため、プラグインとしてこれを行う必要があります

4

3 に答える 3

8

解決策は実際には非常に簡単です。.htaccess に書き込むプラグインを作成する必要があります。

  1. /wp-content/plugins にlicence_redirectフォルダーを作成します。
  2. そのフォルダーにlicence_redirect.phpファイルを作成します。
  3. 以下のコードをこのlicence_redirect.php php ファイルに貼り付けます。
<?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. 管理パネルで [設定] -> [パーマリンク] に移動します
  3. [変更を保存] を押します。これ以降、license.txt リクエストは 404 にリダイレクトされます。サーバー上にフォルダーを作成できない場合は、プラグインのフォルダーを圧縮し、WP 管理者を使用してアップロードする必要があります。乾杯...今賞金を数えています:P
于 2012-11-02T15:43:10.497 に答える
2

できません。標準の WordPress.htaccessでは、静的ファイルへのリクエストは PHP にまったく渡されないため、それらをフックする方法はありません。

于 2012-11-02T06:13:13.380 に答える
1

これを行うプラグインがあります。リダイレクトするファイルとそのターゲットを設定するだけです。ログも保持します

http://wordpress.org/extend/plugins/redirection/

于 2012-11-07T22:58:40.267 に答える