Javascript 如何从HTML页面中更正重定向到任何url?
当然,我知道如何从HTML中重定向到任何url,如Javascript 如何从HTML页面中更正重定向到任何url?,javascript,html,url-redirection,Javascript,Html,Url Redirection,当然,我知道如何从HTML中重定向到任何url,如 <meta http-equiv="refresh" content="0; url=http://example.com/" /> 并将此url提供给我的客户,以便易于记忆和键入 因此,我的问题是: 这是一种正确的方法,可以在不被防病毒软件阻止的情况下使用静态重定向url,浏览器安全检查等。因为我不希望用户在重定向期间收到任何错误消息。通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在DOC
<meta http-equiv="refresh" content="0; url=http://example.com/" />
并将此url提供给我的客户,以便易于记忆和键入
因此,我的问题是:
这是一种正确的方法,可以在不被防病毒软件阻止的情况下使用静态重定向url,浏览器安全检查等。因为我不希望用户在重定向期间收到任何错误消息。通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在DOCUMENT_根目录下的.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]
请记住,重写规则与前导斜杠不匹配
确认其工作正常后,将R=302更换为R=301。在测试mod_重写规则时,避免使用R=301(永久重定向)。您也可以使用303状态代码。优点是它也适用于POST请求: 请求:
POST / HTTP/1.1
Host: www.example.com
答复:
HTTP/1.1 303 See Other
Location: http://example.org/other
关于“什么是正确的方法”:任何适合你需要的方法。HTML标记/属性的存在表明它是正确的,服务器响应代码也是正确的。这通常是通过服务器端语言发出
位置:
标题来完成的。例如,如果你有PHP,那么你可以做,如果你想要易于记忆和/或键入的URL,我建议使用现有的URL缩短服务,如或;给定URLwww.my.dom/Sth83x
,路径(Sth83x
)将映射到一个数据库条目,其中相应条目将是目标URL,例如,stackoverflow.com
,用户将被转发到该URL。您的代码应该工作正常,与服务器相比只需要一次额外的跳转。
POST / HTTP/1.1
Host: www.example.com
HTTP/1.1 303 See Other
Location: http://example.org/other