通過.htacess文件不可行。 .htaccess只能重寫帶有解析到您的Web服務器的域名的傳入URL。它無法控制外發URL,因爲這些請求會直接發送到外發Web服務器(在您的示例中,google.com)。
您可能需要的是一種腳本解決方案,通過掛接所有鏈接的onclick
事件,根據需要重定向用戶。
編輯:這是使用jQuery的概念的快速證明。這應該讓你開始。
<html>
<head>
<title>jQuery global redirector</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<a href="http://google.com/search?q=jquery">google url would redirect</a><br />
<a href="http://mysite.com/somepage.php">mysite.com url won't redirect</a>
<script>
<!--
$("a").click(function(e) {
var url = e.target.href;
if(!(url.startsWith("http://mysite.com") || url.startsWith("mysite.com"))) {
window.location.href = "http://mysite.com/redirect.php?site=" + url;
e.preventDefault();
}
});
//-->
</script>
</body>
</html>
你或許應該把腳本另一個文件中(說redirect.js),然後包括這個腳本(附近的< HTML>結束)選擇在頁面中需要這樣的重定向。別忘了導入jQuery!
一旦生成外出鏈接,您就無法控制它們。它們的來源,即在您的網站內部生成它們的代碼,可能會被修改,但在您的問題中缺少。 – 2013-04-26 02:56:28
這真的很有意義。謝謝faa – 2013-04-26 05:22:19