当然我知道如何从HTML中重定向到任何网址,如
<meta http-equiv="refresh" content="0; url=http://example.com/" />
或
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1; url=http://example.com">
<script type="text/javascript">
window.location.href = "http://example.com"
</script>
<title>Page Redirection</title>
</head>
<body>
<!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
</body>
</html>
但我想知道的是,这是尝试像bit.ly那样重定向的正确方法。我的问题的目的是什么?
我有许多静态网址,用于Skype for Business Meeting,GoToMeeting,HRS酒店预订,其他预订页面等多项服务。如果Url中的所有ID /标签都需要正确输入以获得正确的服务。例如,在Skype会议上,我向同事/客户提供此网址。我想要做的是在我的域名上添加一些static.html,如
www.my.dom/skype
并将此网址提供给我的客户,以便易于记忆和输入。
因此我的问题是:
这是使用静态重定向网址的正确方法,也可能没有被AntiVirus软件,浏览器安全检查等阻止。因为我不希望用户在重定向期间收到任何错误消息。
答案 0 :(得分:0)
通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在DOCUMENT_ROOT目录下的.htaccess中:
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (^|&)title=abc(&|$) [NC]
RewriteRule ^a/b/(.*)$ http://www.example.com/xyz/? [L,R=302,NC]
记住RewriteRule与前导斜杠不匹配。
验证一切正常后,将R = 302替换为R = 301。在测试mod_rewrite规则时,请避免使用R = 301(永久重定向)。
答案 1 :(得分:0)
您还可以使用303状态代码。优点是它也适用于POST请求:
https://en.wikipedia.org/wiki/HTTP_303
请求:
POST / HTTP/1.1
Host: www.example.com
响应:
HTTP/1.1 303 See Other
Location: http://example.org/other
关于“什么是正确的方法”:任何适合您需求的方式。 HTML标记/属性的存在表明它是正确的,服务器响应代码也是如此。