登录 注册

登录

已解决 使用Artio JoomSEF后URL变得更长了

更多
2014年10月24日 18:18 #1 作者: Suen
白老师:
以joomlart的magz模板为例
在使用joomla自带的JoomSEF时,url为:
http://192.168.0.110/magz/money/90-new-york-times-reinstates-dividend-at-4-cents
但是使用Arito JoomSEF后,url变为
http://192.168.0.110/magz/money/demo-contents/money/new-york-times-reinstates-dividend-at-4-cents

前后相比,网址中竟然还多了“money/demo-contents/”,困惑啊!


(附问题背景——本来一直用Joomla自带的SEF,感觉挺好,可是突然某天发现其search组件在手机的UC浏览器中发现使用不正常。后来发现时因为url太长造成:例如http://192.168.0.110/magz/component/search/?searchword=%E9%95%BF%E5%BA%A6&searchphrase=all&Itemid=562,这个url很长,如果能够删除里面的“/component/search”就可以在UC浏览器上正常使用。)

登录 或者   注册一个会员帐号 来参与讨论

更多
2014年10月24日 18:56 - 2014年10月24日 18:58 #2 作者: Joomla之门
由于不能访问你网站后台查看文章系统结构,所以只能猜测:

你的菜单别名是 “money”,文章标题别名是“new-york-times-reinstates-dividend-at-4-cents”。

而且,该文章所述的类别的别名是 “money”,而这个类别还有上级类别,它的别名是“demo-contents”。

Artio JoomSEF 在生成 SEF URL 的时候,不仅把当前菜单的别名包含进去,而且把文章的全部上下级从属类别也包含进去了。

你的目标是:将单篇文章直接作为菜单所指页面,并且在 SEF URL 里面只出现该菜单的“别名”。那么,有以下两种做法:

1、将该文章的所属类别从 demo-contents/money 更改为 uncategorised 。这相当于使该文章“不属于任何类别”。但是注意:千万不要将文章直接放在 root 根类别下。通俗的说:uncategorised 这个类别就是专门用来收集“散兵游勇”式文章的。

2、继续保持该文章在当前类别下。

上述两种做法可选一种,我推荐使用第一种,因为一般来说,单独链接到菜单的单篇文章,已经不适合从属于某个子类别了,否则,让该类别中同级别的文章情何以堪?

当然,操作还没有完。如果你仅仅是做了上面的 1 ,那么将发现 SEF URL 里面的类别别名从 demo-contents/money 换成了 uncategorised 而已。

还有最后一个关键步骤:

1、从 Joomla 网站后台点击顶部菜单上的“组件 -> Artio JoomSEF -> 管理扩展”,注意这个“管理扩展”是 JoomSEF 的子菜单上的,别点错了。

2、然后,就能看到所有 SEF Extension 的列表,标题可能是“已安装的 SEF 扩展”。在这里面,点击 Content 这个名称,这是所有文章系统(com_content)的 SEF 独立参数。

3、进去之后,第一个标签页“扩展”上面,中间部分,有一个参数名叫 “Exclude categories from article links”,后面是输入框。在这个输入框里面,输入该文章所在的完整类别树的各级类别“别名”,注意是别名,不要填写类别名称。例如,你选择上述第一种方案,就只填写 uncategorised;如果选择第二种做法,就分两行分别填写 demo-contentsmoney ,这两个词前后不能有任何其它字符,换行符是直接回车换行。

最后保存参数,清除 SEF 网址缓存,刷新前台网页。可以看到,你讨厌的那部分类别别名就从 SEF 网址里面消失了。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
最后修改: 2014年10月24日 18:58 由 Joomla之门. 原因: 修改错别字
下列用户已致谢:: Suen

登录 或者   注册一个会员帐号 来参与讨论

更多
2014年10月24日 21:13 - 2014年10月24日 21:14 #3 作者: Suen
感谢白老师的详细解答。我比较偏向于第2种做法。
从你的解答中,我了解了artio joomsef还可以通过“管理扩展”来管理content,我在“已安装的 SEF 扩展”——“content”里看到个选项:“URL settings”——“Add category to url”(包含no、only last one、all categories),我想只要选择“No”(即在url中不显示分类名)应该就可以了,可惜我发现对这个“content”做任何修改(也清除了系统缓存)都没有反应,不知道是不是还有什么地方没做到位。
最后修改: 2014年10月24日 21:14 由 Suen.

登录 或者   注册一个会员帐号 来参与讨论

更多
2014年10月25日 07:21 #4 作者: Joomla之门
提醒一下:一旦将“Add category to url” 选择为“否”,意味着所有的文章类别都不会在 SEF URL 中显示,所有!也就是说,全站范围的任何文章的 SEF URL 都将不包含类别别名。 —— 这个“扩展管理”里面的 content 是针对全站范围的文章系统,不只是这一篇文章。

你清楚“系统缓存”是没用的。必须“清理 SEF 网址”,这个按钮在 JoomSEF 控制面板上页面中间部分,点击“维护”这个标签页,然后点击“清理 友好网址”按钮。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
下列用户已致谢:: Suen

登录 或者   注册一个会员帐号 来参与讨论

更多
2014年10月25日 09:03 #5 作者: Suen
artio joomsef→扩展管理→content→add category to url(no)→控制面板(arito joomsef)→清理友好网址→清理缓存(joomla系统)→所有问题解决!

这样在用uc浏览器(手机)访问网址时,就不会因为url过长而不能正常使用search功能

感谢白老师,本来还想放弃arito,原来是自己懂得太少,点赞!

登录 或者   注册一个会员帐号 来参与讨论