404 to Start - Version 1.5.7

Version Description

(11.11.2013) = * Now even sends mail alerts if redirect is turned off

Download this release

Release Info

Developer 1manfactory
Plugin Icon 128x128 404 to Start
Version 1.5.7
Comparing to
See all releases

Version 1.5.7

Files changed (8) hide show
  1. 404-to-start.php +266 -0
  2. lang/de_DE.mo +0 -0
  3. lang/de_DE.po +74 -0
  4. lang/k_SK.po +56 -0
  5. lang/sk_SK.mo +0 -0
  6. readme.txt +133 -0
  7. screenshot-1.png +0 -0
  8. whatsup.php +1 -0
404-to-start.php ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: 404 to Start
4
+ Plugin URI: http://1manfactory.com/4042start
5
+ Description: Send 404 page not found error directly to start page (or any other page/site) to overcome problems with search engines. With optional email alert.
6
+ Version: 1.5.7
7
+ Author: Jürgen Schulze
8
+ Author URI: http://1manfactory.com
9
+ License: GNU GPL
10
+ */
11
+
12
+ /* Copyright 2010-2013 Juergen Schulze, 1manfactory.com (email : 1manfactory@gmail.com)
13
+
14
+ This program is free software; you can redistribute it and/or modify
15
+ it under the terms of the GNU General Public License as published by
16
+ the Free Software Foundation; either version 2 of the License, or
17
+ (at your option) any later version.
18
+
19
+ This program is distributed in the hope that it will be useful,
20
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ GNU General Public License for more details.
23
+
24
+ You should have received a copy of the GNU General Public License
25
+ along with this program; if not, write to the Free Software
26
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27
+ */
28
+
29
+
30
+ f042start_set_lang_file();
31
+ add_action('admin_init', 'f042start_register_settings' );
32
+ add_action('admin_menu', 'f042start_plugin_admin_menu');
33
+ add_action('template_redirect', 'f042start_output_header');
34
+ register_activation_hook(__FILE__, 'f042start_activate');
35
+ register_deactivation_hook(__FILE__, 'f042start_deactivate');
36
+ register_uninstall_hook(__FILE__, 'f042start_uninstall');
37
+
38
+ function f042start_register_settings() { // whitelist options
39
+ register_setting( 'f042start_option-group', 'f042start_type' );
40
+ register_setting( 'f042start_option-group', 'f042start_target', 'f042start_check_values');
41
+ register_setting( 'f042start_option-group', 'f042emailalert' );
42
+ register_setting( 'f042start_option-group', 'f042exclude' );
43
+ register_setting( 'f042start_option-group', 'f042exclude2' );
44
+ register_setting( 'f042start_option-group', 'f042startemailaddres' );
45
+
46
+ }
47
+
48
+
49
+ function f042start_set_lang_file() {
50
+ # set the language file
51
+ $currentLocale = get_locale();
52
+ if(!empty($currentLocale)) {
53
+ $moFile = dirname(__FILE__) . "/lang/" . $currentLocale . ".mo";
54
+ if(@file_exists($moFile) && is_readable($moFile)) load_textdomain('f042start', $moFile);
55
+ }
56
+ }
57
+
58
+ function f042start_deactivate() {
59
+ // needed
60
+ delete_option('f042start_type');
61
+ delete_option('f042start_target');
62
+ delete_option('f042emailalert');
63
+ delete_option('f042exclude');
64
+ delete_option('f042exclude2');
65
+ delete_option('f042startemailaddres');
66
+
67
+ }
68
+
69
+ function f042start_activate() {
70
+ # setting default values
71
+ add_option('f042start_type', '301');
72
+ add_option('f042start_target', home_url());
73
+ add_option('f042emailalert', '');
74
+ add_option('f042exclude', '');
75
+ add_option('f042exclude2', '');
76
+ add_option('f042startemailaddres', '');
77
+ }
78
+
79
+
80
+ function f042start_uninstall() {
81
+ # delete all data stored
82
+ delete_option('f042start_type');
83
+ delete_option('f042start_target');
84
+ delete_option('f042emailalert');
85
+ delete_option('f042exclude');
86
+ delete_option('f042exclude2');
87
+ delete_option('f042startemailaddres');
88
+ }
89
+
90
+ function f042start_plugin_admin_menu() {
91
+ add_options_page(__('404 to Start Settings', 'f042start'), "404 to Start", 'manage_options', basename(__FILE__), 'f042start_plugin_options');
92
+ }
93
+
94
+
95
+ function f042start_plugin_options(){
96
+
97
+ if (!current_user_can('manage_options')) {
98
+ wp_die( __('You do not have sufficient permissions to access this page.') );
99
+ }
100
+
101
+ if (get_option("f042start_target")=="") {
102
+ // setting target value to home url if empty (maybe because of plugin update)
103
+ add_option('f042start_target', home_url());
104
+ }
105
+
106
+ print '<div class="wrap">';
107
+
108
+ print '<h2>'.__('404 to Start Settings', 'f042start').'</h2>';
109
+
110
+ print '<form method="post" action="options.php" id="f042start_form">';
111
+ wp_nonce_field('update-options', '_wpnonce');
112
+ settings_fields( 'f042start_option-group');
113
+
114
+ print'
115
+ <input type="hidden" name="page_options" value="f042start_type, f042start_target, f042emailalert, f042startemailaddres, f042exclude, f042exclude2" />
116
+ <table class="form-table">
117
+ <tr valign="top">
118
+ <th scope="row">'.__('404 Redirect', 'f042start').'</th>
119
+ </tr>
120
+ <tr>
121
+ <td>
122
+ <input type="radio" name="f042start_type" value="off" '.f042start_checked("f042start_type", "off").'/> '.__('off', 'f042start').' <br />
123
+ <input type="radio" name="f042start_type" value="301" '.f042start_checked("f042start_type", "301").'/> '.__('301 - Moved permanently', 'f042start').'<br />
124
+ <input type="radio" name="f042start_type" value="302" '.f042start_checked("f042start_type", "302").'/> '.__('302 - Found/ Moved temporarily (not recommended)', 'f042start').'<br />
125
+ <input type="checkbox" name="f042emailalert" value="1" '.f042start_checked("f042emailalert", "1").'/> '.__('Email alert to: ', 'f042start').'<input type="text" name="f042startemailaddres" value="'.get_option("f042startemailaddres").'" size="50">
126
+ <br />
127
+ &nbsp;&nbsp;&nbsp;<input type="checkbox" name="f042exclude" value="1" '.f042start_checked("f042exclude", "1").'/> '.__('Exclude logged in users from triggering email alert', 'f042start').'
128
+ <br />
129
+ &nbsp;&nbsp;&nbsp;<input type="checkbox" name="f042exclude2" value="1" '.f042start_checked("f042exclude2", "1").'/> '.__('Exclude search engine agents from triggering email alert', 'f042start').'
130
+ <br />
131
+ </td>
132
+ </tr>
133
+ <tr>
134
+ <td>
135
+ '.__('Target Url: (Start with http://)', 'f042start').' <input type="text" name="f042start_target" value="'.get_option("f042start_target").'" size="100">
136
+ </td>
137
+ </tr>
138
+ </table>
139
+ <input type="hidden" name="action" value="update" />
140
+
141
+ ';
142
+
143
+
144
+ print '<p class="submit"><input type="submit" name="submit" value="'.__('Save Changes', 'f042start').'" /></p>';
145
+
146
+ print '</form>';
147
+ print '</div>';
148
+
149
+ print '<br /><br /><br />';
150
+ require_once('whatsup.php');
151
+
152
+ }
153
+
154
+ // sanitize function
155
+ function f042start_check_values($input) {
156
+ # check target url
157
+ if (!f042start_is_valid_url($input)) {
158
+ add_settings_error('f042start_option-group', 'settings_updated', __('This is not a valid Url', 'f042start'), $type = 'error');
159
+ }
160
+ return $input;
161
+ }
162
+
163
+
164
+ function f042start_checked($checkOption, $checkValue) {
165
+ return get_option($checkOption)==$checkValue ? " checked" : "";
166
+ }
167
+
168
+
169
+ // Trap 404 errors and redirect them to start page
170
+ // 301=permanently moved
171
+ // 302=temporary
172
+ function f042start_output_header() {
173
+
174
+ # setting default target to prevent errors
175
+ if (get_option('f042start_target')=="") {
176
+ $target=home_url();
177
+ } else {
178
+ $target=get_option("f042start_target");
179
+ }
180
+
181
+
182
+ if ( get_option("f042emailalert") ) {
183
+
184
+ if ( (get_option("f042exclude") && is_user_logged_in()) || (get_option("f042exclude2") && f042start_is_crawlers()) ) {
185
+ // no mail
186
+ } else {
187
+ // send email alert
188
+ $message=get_bloginfo('name')."\n";
189
+ $message.=get_bloginfo('wpurl')."\n";
190
+ $message.="False URL: ".f042start_curPageURL()."\n";
191
+ $message.="Referer URL: ".$_SERVER['HTTP_REFERER']."\n";
192
+ $message.="User agent: ".$_SERVER['HTTP_USER_AGENT']."\n";
193
+ $message.="Remote Host: ".$_SERVER['REMOTE_HOST']."\n";
194
+ $message.="Remote Addres: ".$_SERVER['REMOTE_ADDR']."\n";
195
+ $returnvalue=wp_mail( get_option("f042startemailaddres"), __('404 alert from ', 'f042start').get_bloginfo('name'), $message, "From: ".get_bloginfo('admin_email') );
196
+ }
197
+
198
+ }
199
+
200
+ if ( !is_404() || get_option("f042start_type")=="off" ) return;
201
+ wp_redirect( $target, get_option("f042start_type") );
202
+ }
203
+
204
+
205
+ # http://www.roscripts.com/snippets/show/156
206
+ function f042start_is_valid_url ( $url )
207
+ {
208
+ $url = @parse_url($url);
209
+
210
+ if ( ! $url) {
211
+ return false;
212
+ }
213
+
214
+ $url = array_map('trim', $url);
215
+ $url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
216
+ $path = (isset($url['path'])) ? $url['path'] : '';
217
+
218
+ if ($path == '')
219
+ {
220
+ $path = '/';
221
+ }
222
+
223
+ $path .= ( isset ( $url['query'] ) ) ? "?$url[query]" : '';
224
+
225
+ if ( isset ( $url['host'] ) AND $url['host'] != gethostbyname ( $url['host'] ) )
226
+ {
227
+ if ( PHP_VERSION >= 5 )
228
+ {
229
+ $headers = get_headers("$url[scheme]://$url[host]:$url[port]$path");
230
+ }
231
+ else
232
+ {
233
+ $fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30);
234
+
235
+ if ( ! $fp )
236
+ {
237
+ return false;
238
+ }
239
+ fputs($fp, "HEAD $path HTTP/1.1\r\nHost: $url[host]\r\n\r\n");
240
+ $headers = fread ( $fp, 128 );
241
+ fclose ( $fp );
242
+ }
243
+ $headers = ( is_array ( $headers ) ) ? implode ( "\n", $headers ) : $headers;
244
+ return ( bool ) preg_match ( '#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers );
245
+ }
246
+ return false;
247
+ }
248
+
249
+
250
+ function f042start_curPageURL() {
251
+ $pageURL = 'http';
252
+ if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
253
+ $pageURL .= "://";
254
+ if ($_SERVER["SERVER_PORT"] != "80") {
255
+ $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
256
+ } else {
257
+ $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
258
+ }
259
+ return $pageURL;
260
+ }
261
+
262
+ function f042start_is_crawlers() {
263
+ $sites = 'facebookexternalhit|genieo|butterfly|JS-Kit|InAGist|BUbiNG|crawler|Java|Google|Yahoo|Ask|bot|spider|Twikle|flipboard|longurl|crowsnest|peerindex|UnwindFetchor'; // Add the rest of the search-engines
264
+ return (preg_match("/$sites/i", $_SERVER['HTTP_USER_AGENT']) > 0) ? true : false;
265
+ }
266
+ ?>
lang/de_DE.mo ADDED
Binary file
lang/de_DE.po ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: f042start\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-03-24 11:23+0100\n"
6
+ "PO-Revision-Date: 2013-03-24 11:23+0100\n"
7
+ "Last-Translator: Juergen Schulze <1manfactory@gmail.com>\n"
8
+ "Language-Team: Juergen Schulze <1manfactory@gmail.com>\n"
9
+ "Language: de_DE\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Poedit-KeywordsList: _;gettext;gettext_noop;__\n"
14
+ "X-Poedit-Basepath: .\n"
15
+ "X-Generator: Poedit 1.5.4\n"
16
+ "X-Poedit-SearchPath-0: c:\\temp\\UniServer\\www\\blog\\wp-content\\plugins"
17
+ "\\404-to-start\n"
18
+
19
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:91
20
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:108
21
+ msgid "404 to Start Settings"
22
+ msgstr "404 to Start Einstellungen"
23
+
24
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:98
25
+ msgid "You do not have sufficient permissions to access this page."
26
+ msgstr "Sie haben nicht ausreichend Rechte, um auf diese Seite zuzugreifen."
27
+
28
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:118
29
+ msgid "404 Redirect"
30
+ msgstr "404 Umleitung"
31
+
32
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:122
33
+ msgid "off"
34
+ msgstr "aus"
35
+
36
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:123
37
+ #, fuzzy
38
+ msgid "301 - Moved permanently"
39
+ msgstr "301 - Moved Permanently"
40
+
41
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:124
42
+ msgid "302 - Found/ Moved temporarily (not recommended)"
43
+ msgstr "302 - Found/ Moved temporarily (nicht empfohlen)"
44
+
45
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:125
46
+ msgid "Email alert to: "
47
+ msgstr "E-Mail Alarm an:"
48
+
49
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:127
50
+ msgid "Exclude logged in users from triggering email alert"
51
+ msgstr "Eingewählte Nutzer erzeugen keinen E-Mail Alarm"
52
+
53
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:129
54
+ msgid "Exclude search engine agents from triggering email alert"
55
+ msgstr "Suchmaschinen erzeugen keinen E-Mail Alarm"
56
+
57
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:135
58
+ msgid "Target Url: (Start with http://)"
59
+ msgstr "Ziel Url: (Beginnen mit http://)"
60
+
61
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:144
62
+ msgid "Save Changes"
63
+ msgstr "Änderungen speichern"
64
+
65
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:158
66
+ msgid "This is not a valid Url"
67
+ msgstr "Die ist keine gültige Url"
68
+
69
+ #: c:\temp\UniServer\www\blog\wp-content\plugins\404-to-start/404-to-start.php:191
70
+ msgid "404 alert from "
71
+ msgstr "404 Alarm von "
72
+
73
+ #~ msgid "404 Redirect to:"
74
+ #~ msgstr "404 Umleitung nach:"
lang/k_SK.po ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: f042start\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-03-03 12:59+0100\n"
6
+ "PO-Revision-Date: 2012-12-21 13:44+0200\n"
7
+ "Last-Translator: Juergen <1manfactory@gmail.com>\n"
8
+ "Language-Team: Juergen Schulze <1manfactory@gmail.com>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-KeywordsList: _;gettext;gettext_noop;__\n"
13
+ "X-Poedit-Basepath: c:\\Programme\\xampp\\htdocs\\blog\\\n"
14
+ "Language: de_DE\n"
15
+ "X-Generator: Poedit 1.5.4\n"
16
+ "X-Poedit-SearchPath-0: wp-content\\plugins\\404-to-start\n"
17
+
18
+ #: wp-content\plugins\404-to-start/404-to-start.php:76
19
+ #: wp-content\plugins\404-to-start/404-to-start.php:93
20
+ msgid "404 to Start Settings"
21
+ msgstr "404 na Štart Nastavenie"
22
+
23
+ #: wp-content\plugins\404-to-start/404-to-start.php:83
24
+ msgid "You do not have sufficient permissions to access this page."
25
+ msgstr "Nemáte dostatočné oprávnenie k prístupu na túto stránku."
26
+
27
+ #: wp-content\plugins\404-to-start/404-to-start.php:103
28
+ msgid "404 Redirect"
29
+ msgstr "404 Presmerovanie"
30
+
31
+ #: wp-content\plugins\404-to-start/404-to-start.php:107
32
+ msgid "off"
33
+ msgstr "zo"
34
+
35
+ #: wp-content\plugins\404-to-start/404-to-start.php:108
36
+ msgid "301 - Moved permanently"
37
+ msgstr "301 - Trvalo presunuté"
38
+
39
+ #: wp-content\plugins\404-to-start/404-to-start.php:109
40
+ msgid "302 - Found/ Moved temporarily (not recommended)"
41
+ msgstr "302 - Nájdené / presunuté dočasne (neodporúča sa)"
42
+
43
+ #: wp-content\plugins\404-to-start/404-to-start.php:114
44
+ msgid "Target Url: (Start with http://)"
45
+ msgstr "Cieľová adresa URL: (Začnite s http://)"
46
+
47
+ #: wp-content\plugins\404-to-start/404-to-start.php:123
48
+ msgid "Save Changes"
49
+ msgstr "Uložiť zmeny"
50
+
51
+ #: wp-content\plugins\404-to-start/404-to-start.php:137
52
+ msgid "This is not a valid Url"
53
+ msgstr "Toto nie je platná adresa URL"
54
+
55
+ #~ msgid "404 Redirect to:"
56
+ #~ msgstr "404 Umleitung nach:"
lang/sk_SK.mo ADDED
Binary file
readme.txt ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === 404 to Start ===
2
+ Contributors: 1manfactory
3
+ Donate link: http://1manfactory.com/donate
4
+ Tags: 404, start, start page, page not found, redirect, umleiten, startseite, fehler
5
+ Requires at least: 3.0
6
+ Tested up to: 3.7.1
7
+ Stable tag: 1.5.7
8
+
9
+ Send 404 page not found error directly to start page (or any other page/site) to overcome problems with search engines. With optional email alert.
10
+
11
+ == Description ==
12
+
13
+ If you don't like the typical 404 page than you can redirect all 404 page not found errors permantly (or temporarily) to the start page or any other site/page you like.
14
+
15
+ This will help you solve problems with external bad links which are not under your influence.
16
+
17
+ Chose between 301 - Moved permanently (default) and 302 - Moved temporarily.
18
+
19
+ == Installation ==
20
+
21
+ 1. Upload `404 to Start` to the `/wp-content/plugins/` directory
22
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
23
+ 3. Adjust settings
24
+
25
+ == Remove plugin ==
26
+
27
+ 1. Deactivate plugin through the 'Plugins' menu in WordPress
28
+ 2. Delete plugin through the 'Plugins' menu in WordPress
29
+
30
+ It's best to use the build in delete function of wordpress. That way all the stored data will be removed and no orphaned data will stay.
31
+
32
+ == Screenshots ==
33
+
34
+ 1. Basic Settings
35
+
36
+ == Frequently Asked Questions ==
37
+
38
+ = 301 or 302? =
39
+
40
+ It is generally not recommended to use a 302 redirect unless you are a search engine expert and can make a unique redirect page for each search engine. Each of the three major search engines (Google, Yahoo and MSN) process 302 redirects in a different manner. [How to Write a 301 or 302 Website Redirect Using Php](http://www.ehow.com/how_2319373_write-301-302-website-redirect.html)
41
+
42
+ = Is there anything I should be aware of? Any limitations? =
43
+
44
+ No.
45
+
46
+ = How can I support you? =
47
+
48
+ Post a comment on [404 to Start](http://1manfactory.com/4042start)
49
+
50
+ = What is the plugin page? =
51
+
52
+ [404 to Start](http://1manfactory.com/4042start)
53
+
54
+ = Do you have other plugins? =
55
+
56
+ Check out my other [Wordpress Plugins](http://wordpress.org/extend/plugins/profile/1manfactory)
57
+
58
+ = Where do I post my feedback? =
59
+
60
+ Post it at the plugin page: [404 to Start](http://1manfactory.com/4042start)
61
+
62
+ == Upgrade Notice ==
63
+
64
+ Just do a normal upgrade.
65
+
66
+ == Changelog ==
67
+
68
+ = 1.5.7 (11.11.2013) =
69
+ * Now even sends mail alerts if redirect is turned off
70
+
71
+ = 1.5.6 (11.11.2013) =
72
+ * New search engines
73
+
74
+ = 1.5.5 (10.11.2013) =
75
+ * New search engines
76
+
77
+ = 1.5.4 (28.09.2013) =
78
+ * New search engines
79
+
80
+ = 1.5.3 (26.09.2013) =
81
+ * New search engines
82
+
83
+ = 1.5.2 (23.07.2013) =
84
+ * New search engines
85
+
86
+ = 1.5.1 (13.05.2013) =
87
+ * Better search engine detection
88
+
89
+ = 1.5 (30.03.2013) =
90
+ * Bug fixing
91
+ * Better search engine detection
92
+
93
+ = 1.4.3 (25.03.2013) =
94
+ * Translation
95
+
96
+ = 1.4.2 (24.03.2013) =
97
+ * Exclude logged in users from triggering email alert
98
+ * Exclude search engine agents from triggering email alert
99
+
100
+ = 1.4.1 (18.03.2013) =
101
+ * Putting more information into alert mail
102
+
103
+ = 1.4 (17.03.2013) =
104
+ * Email alert
105
+
106
+ = 1.3.2 (27.02.2013) =
107
+ * Replacing deprecated function
108
+
109
+ = 1.3.1 (03.03.2011) =
110
+ * Tested on Wordpress 3.5 - OK
111
+ * Slovak translation, thanks to Branco from www.webhostinggeeks.com
112
+
113
+ = 1.3 (03.03.2011) =
114
+ * Set custom target Url (any page or site you like)
115
+
116
+ = 1.2 (24.02.2011) =
117
+ * tested with Wordpress 3.1
118
+
119
+ = 1.1 (10.02.2011) =
120
+ * new settings menu
121
+ * chose between 301 and 302 redirect
122
+ * tested with Wordpress 3.0.5
123
+
124
+ = 1.0 (02.01.2011) =
125
+ * first version
126
+
127
+ == Upgrade Notice ==
128
+
129
+ Just do a normal upgrade.
130
+
131
+ == To do ==
132
+
133
+ More translations. Does someone wants to help?
screenshot-1.png ADDED
Binary file
whatsup.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php