Php 删除所有单词后重定向到主url等?(问号)
我想将我的访问者重定向到主url,如果他们通过这样的urlPhp 删除所有单词后重定向到主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的解决方案)是一种方法,如果真的需要的话。但是,如果您最终需要一些技巧,我建
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: /");
}
?>