如果URL包含我禁止访问我的网站的单词,请尝试重定向页面

时间:2012-09-22 22:28:47

标签: php wordpress search redirect search-engine

如果人们尝试在Wordpress中使用我的搜索表单搜索粗俗或成人单词,我会获得一个重定向页面的代码。

我这样做的原因是因为谷歌可以禁止Adsense中的人,即使在任何网址中都有粗鲁的字样,甚至是搜索功能产生的字样。

这是我从Google收到的消息:

“广告投放已停用:examplesite.com

发生违规的示例页面:http://examplesite.com/?s=somekeyword+tv+sex

我已经提出上诉,但我需要在我的网站上重定向访问任何进一步的此类搜索,因为搜索会生成Google正在编制索引的网址。

我已经尝试过这个脚本,但我已经将它插入到我的Wordpress search.php中,但是我收到了这个错误:

解析错误:语法错误,意外';'在第83行的/home/name/public_html/sitename.com/wp-content/themes/heatmap-adsense-theme/search.php

第83行引用以下代码:if($ pageURL;

完整代码如下:

    <?php
   function curPageURL() {
   $pageURL = 'http';
   if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
   $pageURL .= "://";
   if ($_SERVER["SERVER_PORT"] != "80") {
   $pageURL .= 

   $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     if($pageURL;
     $string = "/sex/";

     if (preg_match_all($string, $pageURL, &$matches)) {
          header("Location: http://www.example.com/"); /* Redirect browser */
      }
   }
   ?>

代码看起来非常完整,但请有人帮我解决该错误以及之后的任何错误。

提前致谢。

PS:很抱歉,如果这封邮件格式错误。尽我所能,但看不到任何预览按钮。

3 个答案:

答案 0 :(得分:0)

我建议通过服务器配置使用重定向:

#.htaccess
RewriteEngine On
RewriteCond %{QUERY_STRING} (place|bad|words|here) [NC]
RewriteRule ^(.*)$ http://www.example.com/? [R=302,L]

答案 1 :(得分:0)

上面的脚本似乎有错误:

if($pageURL;
 $string = "/sex/";

这应该被移除,因为以下if语句正在进行正则表达式匹配。

答案 2 :(得分:0)

这对我来说效果最好。

<?php $bad_words = array('some','bad','words','sex'); foreach($bad_words as $bad_word){ if(stristr($_SERVER["REQUEST_URI"], $bad_word) !== false) { echo "Have a nice weekend!"; } else { echo "Have a nice day!"; } } ?>