Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从HTML页面中更正重定向到任何url?_Javascript_Html_Url Redirection - Fatal编程技术网

Javascript 如何从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

当然,我知道如何从HTML中重定向到任何url,如

<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缩短服务,如或;给定URL
www.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