使用NE标志的锚(%23)的RewriteRule重定向到“302 Found”

时间:2013-07-16 18:52:14

标签: .htaccess mod-rewrite url-redirection

我制作了一个单页网站,其中每个菜单标签都会在页面中显示一个锚点(#,%23)。但是,在使用其URL(www.example.com)访问该网站后,由于我的原始javascript,我没有选择第一个菜单选项卡。

所以我可以

1)编辑javascript(我根本不擅长),所以我决定2):

2)编写重写规则,将基本URL重定向到第一个菜单选项卡链接。

我想要实现的目标

重定向

www.example.com

www.example.com/#my-anchor

我尝试的可能解决方案

RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule (.*)$ http://www.example.com/#my-anchor [R=302,NE,QSA,L]

问题是什么

根据此规则,我不会直接重定向。我到了一个包含302重定向信息的页面

**Found**

The document has moved here.

“here”指向www.example.com/#my-anchor的链接。那是错的,我想被重定向,我不想点击任何地方。此外,点击“此处”链接后,我的网址会更改为所请求的网址,但我会继续留在“找到302”页面。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好吧,无法想出htaccess解决方案,所以我学会了jQuery并扩展了我的JavaScript - 它也做了它的工作,甚至可能以更好的方式。

我只需要将这些行添加到脚本中,将“当前”类添加到菜单选项卡(ul li),这非常简单。

$(document).ready(function() {
$('nav ul li.proc-websimple').addClass('current');
});