我想立即重定向用户,当他们点击我的链接(例如abc.com/redirect)到另一个域ex(xyz.com)时。
但我不想向用户显示有关第一个网址的任何信息(abc.com/redirect)
我用
<meta http-equiv="refresh" content="0;url=xyz.com">
但它首先显示abc.com/redirect,然后重定向。有没有办法不显示abc.com?
我使用javascript / php / html / .htaccess,但所有这些都显示第一个url(abc.com/redirect)。我开发了一个重定向网址的chrome扩展名(例如xyz.com)但我有时需要更改我的重定向网址(如xyz2.com),
所以我将我的扩展点击事件重定向到abc.com/redirect,此url将用户发送到xyz.com。但我不想向用户显示abc.com/redirect
我改变了我的算法。首先,我使用带有JavaScript的GET方法从abc.com/redirect.html获取URL,然后使用xyz.com URL打开新选项卡。因此用户无法看到abc.com/redirect.html。谢谢你的所有答案,我解决了我的问题。
答案 0 :(得分:1)
PHP header()
函数提供了一个名为Location:
的功能。这会将您重定向到任何网址,而不会显示您的网址。同时查看documentation。
header('Location: http://example.com');
答案 1 :(得分:0)
使用htaccess,您可以执行以下操作:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/redirect/?$
RewriteRule ^.*$ http://destination.com/ [R=301,L]
</IfModule>
这将重定向http://example.com/redirect
,但不会重定向http://example.com
。
由于SO:/
的限制,我不得不使用example.com和destination.com答案 2 :(得分:0)
或者为了更快的重定向,请使用apache config:
<VirtualHost *:80>
ServerName DomainA
Redirect permanent / http://DomainB/
</VirtualHost>
答案 3 :(得分:0)
我认为标准重定向始终会显示少量链接。在没有中间URL的情况下重定向的一种方法可能是使链接成为一个表单的提交按钮,该表单发布到带有标题的PHP文件(位置:__)。
<form action="redirect.php" method="post">
<button type="submit">Link</button>
</form>
然后redirect.php看起来就像..
<?php header('Location: example.com'); ?>
这将重定向,不显示任何中间URL。如果无法使用按钮,您可以查看jQuery.post,您可以将其挂钩到锚标记。