我想重定向我的訪問者到主要網址,如果他們通過網址這樣http://domain.com?abc_3828832
。刪除所有單詞後,重定向到主URL? (問號)
我想,我的訪問者來自於該網址來被重定向到http://mydomain.com
我想重定向我的訪問者到主要網址,如果他們通過網址這樣http://domain.com?abc_3828832
。刪除所有單詞後,重定向到主URL? (問號)
我想,我的訪問者來自於該網址來被重定向到http://mydomain.com
您可以嘗試(使用JavaScript):
if (window.location.toString().indexOf('?') > -1) {
window.location = 'http://mydomain.com';
}
您也可以嘗試:
if (window.location.search) {
window.location = 'http://mydomain.com';
}
爆炸(達米安的解決方案)是如果真的需要這種方式的話。但是,如果您最終需要一些轉折,我建議您查看parse_url,它允許您將提供的URL分解爲路徑,查詢,片段和其他分段。
與David相同的想法,但支持任何協議,並將返回轉向當前主機。這稍微更可重用。 Nicholas Zakas建議直接使用location
對象而不是窗口,因爲它可以直接訪問屬性。
if (location.search) {
location.href = location.protocol + '//' + location.hostname;
}
下面是一個簡單的JavaScript的解決方案,只是去掉了查詢字符串,並將用戶重定向:
if (window.location.search) {
window.location = window.location.split("?")[0];
}
通過這一解決方案,但是,用戶將加載頁面時,JavaScript將運行,並那麼該頁面將再次加載,這可能會惹惱用戶並導致不必要的HTTP請求。
就個人而言,我會用一臺服務器配置設置,如Apache的RewriteEngine敘述:
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: /");
}
?>