wordpressページのコンテンツで特別なURLを見つけることができるプラグインに取り組んでおり、一致するURLが見つかった場合、そのサイトにバックリンクの利点を与えることなく、そのURLを別のURLに自動的に変更します。
例: www.site2.com で始まるサイトを定義していて、これを別のサイト www.site3.com にリダイレクトしたい場合
プラグインにより、ページ上の www.site.com が見つかった URL が www.site.com/og.php=www.site2.com に変換され、ユーザーがこの URL をクリックすると、www.site3.com にリダイレクトされます。
プラグインをインストールしてアクティブ化した後、URL が変換されていることがわかりましたが、それらをクリックするとエラー「/og.php」ファイルが見つかりません
オプションページを開いてURLを追加したり、ページの設定を変更しようとすると、「このページにアクセスする権限がありません」というエラーが表示されます
以下で、両方のページの私のコードを確認できます
オプションページのコード:
<?php
/*
Author: Tasleem
Author URI: http://www.alitips.in
Description: Admin options for Automatic Affiliate Links on the fly
*/
$location = get_option('siteurl') . '/wp-admin/st_auto_affiliate_links_options.php'; // Form Action URI
// Set a few defaults to get people started and use as examples
add_option('st_aal_before', 'http://www.hammacher.com
http://www.thinkgeek.com
http://www.blogrush.com');
add_option('st_aal_after', 'http://www.dpbolvw.net/j6117p-85-7NPVWPRURNPORVORWO?url=%ENCODED_TARGET%&cm_ven=CJ&cm_cat=1511450&cm_pla=1781363&cm_ite=Hammacher+Schlemmer&sid=%TARGET%
http://www.anrdoezrs.net/se121lnwtnvACIJCEHEACBEGHEDF?url=%ENCODED_TARGET%&sid=cg-%TARGET%
http://www.blogrush.com/r58661417');;
/*check form submission and update options*/
if ('process' == $_POST['stage'])
{
update_option('st_aal_before', $_POST['st_aal_before']);
update_option('st_aal_after', $_POST['st_aal_after']);
}
/* Get options for form fields */
$st_aal_before = get_option('st_aal_before');
$st_aal_after = get_option('st_aal_after');
?>
<div class="wrap">
<h2><?php _e('Automatic Affiliate Links Options', 'st_ts_') ?></h2>
<form name="form1" method="post" action="<?php echo $location ?>&updated=true">
<input type="hidden" name="stage" value="process" />
<table width="100%" cellspacing="2" cellpadding="5" class="editform">
<tr>
<td width="50%" valign="top"><strong>URLs that start with</strong></td>
<td><strong>Replace with</strong></td>
</tr>
<tr>
<td valign="top"><textarea name="st_aal_before" id="st_aal_before" style="width: 95%;" rows="15" cols="50"><?php echo $st_aal_before; ?></textarea></td>
<td valign="top"><textarea name="st_aal_after" id="st_aal_after" style="width: 95%;" rows="15" cols="50"><?php echo $st_aal_after; ?></textarea>
<strong>Tokens:</strong><br>
<i>%TARGET%</i> - original URL<br>
<i>%ENCODED_TARGET%</i> - original URL encoded to be html friendly
</td>
</tr>
</table>
<p class="submit">
<input type="submit" name="Submit" value="<?php _e('Update Options', 'st_ts_') ?> »" />
</p>
</form>
</div>
URL をリダイレクトするプログラミング ページのコード
<?php
/*
Plugin Name: Automatic Affiliate Links
Plugin URI: http://www.alitips.in
Author: Tasleem
Author URI: http://www.alitips.in
Description: Changes Affiliate URLs to local URL which will then be forwarded by the local script
Date: September 18th, 2007
Version: 1.1
History:
18/09/2007 1.0.0 Initial Version
19/9/2007 1.0.01 Modifed (hacked) to cope with multiple ?s and &s in the initial URL
*/
$OutGoingURL = "/og.php";
function ConvertURLs($aText)
{
global $OutGoingURL;
$st_aal_before = get_option('st_aal_before');
$searchfor = explode("\r\n", trim($st_aal_before));
for($i = 0; $i < count($searchfor); $i++)
{
$searchfor[$i] = "|href=['\"](" . $searchfor[$i] . ".*)/?['\"]|Ui";
}
get_option('siteurl');
$aText = preg_replace($searchfor, "href='" . get_option('siteurl'). "$OutGoingURL?url=$1" ."'", $aText);
return $aText;
}
if(strstr( $_SERVER['REQUEST_URI'], $OutGoingURL))
{
$st_aal_after = get_option('st_aal_after');
$replacewith = explode("\r\n", trim($st_aal_after));
$st_aal_before = get_option('st_aal_before');
$searchfor = explode("\r\n", trim($st_aal_before));
for($i = 0; $i < count($searchfor); $i++)
{
$searchfor[$i] = "|(" . $searchfor[$i] . ").*|Ui";
}
$lURL = $_SERVER['QUERY_STRING'];
// Bit of a hack, the query string may have multiple ? and & so just knock the url= bit off the querystring
$lURL = substr($lURL, 4, strlen($lURL));
$lNewURL = preg_replace($searchfor, $replacewith, $lURL);
$lNewURL = str_replace("%TARGET%", $lURL, $lNewURL);;
$lNewURL = str_replace("%ENCODED_TARGET%", urlencode($lURL), $lNewURL);;
header("location: $lNewURL");
exit;
}
function st_affiliate_links_options_page()
{
add_options_page('Automatic Affiliate Links Options', 'Automatic Affiliate Links', 9, 'st_auto_affiliate_links_options.php');
}
if (function_exists('add_action') && function_exists('add_filter'))
{
add_action('admin_head', 'st_affiliate_links_options_page');
add_filter('the_content', 'ConvertURLs', 1);
}
?>