2011-10-07 41 views

回答

1

您可以嘗試(使用JavaScript):

if (window.location.toString().indexOf('?') > -1) { 
    window.location = 'http://mydomain.com'; 
} 

您也可以嘗試:

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

爆炸(達米安的解決方案)是如果真的需要這種方式的話。但是,如果您最終需要一些轉折,我建議您查看parse_url,它允許您將提供的URL分解爲路徑,查詢,片段和其他分段。

0

與David相同的想法,但支持任何協議,並將返回轉向當前主機。這稍微更可重用。 Nicholas Zakas建議直接使用location對象而不是窗口,因爲它可以直接訪問屬性。

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

下面是一個簡單的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: /"); 
} 
?> 
相關問題