我在共享主机上编写了一个简单的PHP脚本,并希望在.htaccess文件中实现一些规则,这样每次我的脚本调用时,让我们说http://www.google.com/test1代替它http://www.otherwebsite.com/test1
之前我使用过标准的网址重写规则,但不需要这个特定的功能。
谢谢!
答案 0 :(得分:0)
如果我正确理解您的问题,您希望将所有网址重定向到其他域名。
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?yourwebsite\.com$ [NC]
RewriteRule ^ http://www.otherwebsite.com%{REQUEST_URI} [R=301,L]
答案 1 :(得分:0)
.htaccess
只能 重写带有解析到您的网络服务器的域名的传入网址。它无法控制传出的URL,因为这些请求直接传送到传出的Web服务器(在您的示例中为google.com)。
您可能需要的是一种脚本解决方案,可以通过连接到所有外部链接的onclick
事件来重定向用户。这是使用jQuery的概念的快速证明,但这也可以使用标准JavaScript来完成。
<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>
<!--
$(function() {
$("a").click(function(e) {
var url = e.target.href;
if(!(url.startsWith("mysite.com") ||
url.startsWith("http://mysite.com"))) {
var path = $( '<a />', {href : url} ).prop( 'pathname' );
window.location.href = "http://otherwebsite.com" + path;
e.preventDefault();
}
});
});
//-->
</script>
</body>
</html>
您应该将脚本放在另一个文件(例如redirect.js
)中,然后在需要重定向的页面中有选择地包含此脚本。并且不要忘记导入 jQuery 。