如果URL包含#NOTECHWORKING,则重定向URL

时间:2012-11-12 23:18:11

标签: javascript .htaccess

我已经搜索了大约一个星期了,仍然无法找到我的问题的答案,所以我终于制动并在这里问!我想要完成的是,只有在最后包含#NOTECHWORKING的URL时才重定向URL。注意#。我尝试过简单的重定向,但没有使用#included。

这是我尝试过但没有成功:

RewriteCond %{REQUEST_FILENAME} #NOTECHWORKING  
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

此:

RewriteCond %{REQUEST_URI} #NOTECHWORKING 
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

另外:

RewriteCond %{QUERY_STRING} #NOTECHWORKING 
RewriteRule ^.*$ http://www.mydomain.com/chatclosed.html [L]

如果需要在Javascript中完成,我将不知道如何实现这一目标!

非常感谢任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:1)

浏览器通常不会将#fragments发送到服务器,因此您的重写条件永远不会被触发

您可以通过检查window.location.hash属性的值来实现与Javascript类似的效果

if(window.location.hash == "#NOTECHWORKING") {
    window.location.href = '/newurl.html';
}

但这仅适用于浏览器,因此搜索引擎无法关注您的重定向。

答案 1 :(得分:1)

可以使用JavaScript完成。使用后退/下一步按钮应用命令:

window.onhashchange = function() {
    var h=window.location.hash;
    if(h.substr(1) == 'NOTECHWORKING') window.location.replace("http://www.mydomain.com/chatclosed.html");
};