通过.htaccess或PHP替换、过滤URL

通过.htaccess或PHP替换、过滤URL,php,.htaccess,replace,filtering,mod-rewrite,Php,.htaccess,Replace,Filtering,Mod Rewrite,正在寻找通过.htaccess或PHP替换/过滤URL的解决方案: www.domain.com/?site=FilteringSite.com 应转到: www.domain.com 我尝试过: #SEO Friendly 301 Redirects Redirect 301 http://www.domain.com/?site=FilteringSite.com http://www.domain.com 而且似乎不起作用 htaccess文件 #### mod_rewrite in u

正在寻找通过.htaccess或PHP替换/过滤URL的解决方案:

www.domain.com/?site=FilteringSite.com

应转到:

www.domain.com

我尝试过:

#SEO Friendly 301 Redirects
Redirect 301 http://www.domain.com/?site=FilteringSite.com http://www.domain.com
而且似乎不起作用

htaccess文件

#### mod_rewrite in use
Options +FollowSymlinks
RewriteEngine On

非常确定
301重定向对查询字符串不起作用,但您可以尝试以下PHP解决方案:

<?php

$badDomains = array("filtersite.com", "filteringsite.com");

if(in_array(strtolower($_GET['site']), $badDomains)) {
    header("Location: http://mydomain.com", true, 301);
    exit;
}

根据您所拥有的内容,您试图重定向发送到域的参数,而
301
状态将对域无效-它是同一个页面。*****我想在?site=.之后阻止URL中的特定单词或域。。。但是,我希望保留/?site=。。。正确使用url。好吧,下面的代码并不是令人窒息的代码:**下面是我想要阻止的url。我从来没有说过,如果它对你不起作用,你应该接受它-但是,它让你开始了。在这个问题中,您没有指定列表是如何创建的,只有一种方法可以实现您在
.htaccess
php
中寻找的内容。假设如果您不将域存储在数组中,代码不会立即工作,但可以根据您的需要进行调整-这是任何
代码
答案中的含义,其中没有在问题中演示该语言的特定代码。在编辑中,您在其中添加了我的代码中没有的字符,a
str2lower
(我在对
strtolower
的编辑中修复了它)^^此外,需要注意的是,301重定向不会影响页面的
查询字符串
,只会影响实际位置。使用您输入的代码,您应该会得到一个解析器错误和一个对未定义函数的调用。=]谢谢编辑的代码完成了这项工作。您无法再访问:斜杠会影响URL,即使69.com被列在坏域名$badDomains=array(“69.com”,“69.com/”)下;见:\\\\\\\\