重写URL但保持活动菜单选项卡突出显示

时间:2013-07-01 10:25:49

标签: .htaccess mod-rewrite

我正在设置的网站已设置为突出显示活动的菜单标签。

我需要从网址中删除菜单标签名称,因此我将网址重定向到没有菜单标签名称的表单(zaujalo-nas是标签的别名)

RewriteRule ^zaujalo-nas/(.+)$ $1 [R=302,QSA,L]

然而,在这样做之后,我的URL级别不再是这个

domain.cz/menu-tab/article.html (which highlighted the menu tab I was at)

但是这个

domain.cz/article.html (which highlights the HOME menu-tab)

这就是问题(不要错过括号)。

两个版本的URL都有效,但问题是突出显示活动菜单标签,我想保留原样,不要将其更改为HOME - 我实际上并不在主页上。

这是一个Joomla网站,所以我不能做任何事情,比如将我的.html文件移到结构中更高的位置。

我试图保持URL重定向并显示原始的URL内容(这是相同的),但我进入循环。不过,我不确定是否可以提供帮助。

RewriteRule ^zaujalo-nas/(.+)$ $1 [R=302,QSA,L]    
RewriteRule ^([^.]+).html$ zaujalo-nas/$1.html [QSA,L]

我必须承认我没有使用任何RewriteConds,到目前为止他们并不是真的需要。 不要害怕我的R = 302,我要保留它,直到我有一个稳定的htaccess,不再改变。

有办法绕过这个麻烦吗?

1 个答案:

答案 0 :(得分:1)

问题来自Joomla框架,无法使用htaccess文件中的重定向修复。

您需要使用菜单项别名类型设置新菜单项。然后,这个新的菜单项可以放在一个不会在任何地方调用的新“隐藏”菜单中。在该新菜单项中,将别名设置为目标菜单项。然后,您需要做的就是将新别名菜单项的链接设置为您希望缩短的链接。

修改

如果您需要重定向整个类别,也可以使用SEO组件来完成此任务。像AceSEF这样的组件应该可以工作,但有很多可供选择。