Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除所有单词后重定向到主url等?(问号)_Php_Javascript_Redirect - Fatal编程技术网

Php 删除所有单词后重定向到主url等?(问号)

Php 删除所有单词后重定向到主url等?(问号),php,javascript,redirect,Php,Javascript,Redirect,我想将我的访问者重定向到主url,如果他们通过这样的urlhttp://domain.com?abc_3828832 我希望来自该url的访问者被重定向到http://mydomain.com您可以尝试(使用JavaScript): 您也可以尝试: if (window.location.search) { window.location = 'http://mydomain.com'; } 爆炸(Damien的解决方案)是一种方法,如果真的需要的话。但是,如果您最终需要一些技巧,我建

我想将我的访问者重定向到主url,如果他们通过这样的url
http://domain.com?abc_3828832

我希望来自该url的访问者被重定向到
http://mydomain.com

您可以尝试(使用JavaScript):

您也可以尝试:

if (window.location.search) {
    window.location = 'http://mydomain.com';
}

爆炸(Damien的解决方案)是一种方法,如果真的需要的话。但是,如果您最终需要一些技巧,我建议您研究一下,它允许您将提供的URL分解为路径、查询、片段和其他段。

与David的想法相同,但支持任何协议,并将返回当前主机。这稍微更易于重用。Nicholas Zakas建议直接使用
位置
对象,而不是从窗口,因为它可以直接访问属性

if (location.search) {
   location.href = location.protocol + '//' + location.hostname;
}

下面是一个简单的JavaScript解决方案,它仅剥离查询字符串并重定向用户:

if (window.location.search) {
    window.location = window.location.split("?")[0];
}
但是,使用此解决方案,用户将加载页面,JavaScript将运行,然后页面将再次加载,这可能会激怒用户并导致不必要的HTTP请求

就我个人而言,我会使用服务器配置设置,例如Apache的重写引擎:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^/?\?.*$    /    [R=301,L] # (Not tested, but should work)
最后,如果您无法访问服务器的配置(甚至是.htaccess),那么您也可以使用服务器端脚本语言(如PHP):

<?php
if (strlen($_SERVER['QUERY_STRING']) > 0) {
    header("Location: /");
}
?>

<?php
if (strlen($_SERVER['QUERY_STRING']) > 0) {
    header("Location: /");
}
?>