登录 注册

登录

已解决 如何去URL除静态化后网址内自动生成的文章日期和ID名

更多
2014年08月19日 15:27 #1 作者: 夜雨秋风
joomla3.0,开启静态化后变成 http://127.0.0.1/mumu/2012-12-13-08-52-53/2012-12-13-08-53-59/fashion/17-drink-water-detoxification.html ,如何去除URL内的日期(看起来像文章的创建日期)目录和 17-drink-water-detoxification.html 文章ID 17呢,烦请高手指教!

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

更多
2014年08月19日 20:04 #2 作者: Joomla之门
Joomla 核心自带的伪静态规则就是这样:如果没有指定别名(文章类别 或 菜单项目,文章也有别名),就默认自动使用日期替代;而文章即使指定了别名,也会自动添加 ID 数字在网址里面。

如果要去掉日期,不难,你给对应的文章类别及菜单项目填写全英文格式的别名即可。

如果要去掉 ID 数字,Joomla 核心自己做不到(除非以后他们改规则)。在目前来说,只能通过第三方“高级 SEF 组件”来解决,例如 JoomSEF 就可以。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

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

更多
2014年08月20日 08:47 #3 作者: 夜雨秋风
已经都是使用英文别名了,而且全局设置里也启用了显示英文别名,也是木有效果嘀

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

更多
2014年08月20日 12:04 #4 作者: Joomla之门
肯定有什么地方操作不正确。方便的话,把管理员账号发给我,我帮你看看。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

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

更多
2014年08月21日 08:54 #5 作者: 夜雨秋风
现网站还在本地服务器环境中,等上传到虚拟主机上再请教!谢谢

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

更多
2014年08月21日 12:24 #6 作者: Joomla之门
你可以参看一下 www.fluid-controls.cn 这个网站,这是本站会员用 Joomla 3 JoomSEF 搭建的,实现了高级 SEF 伪静态,网址里面既没有日期,也没有 ID 数字。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

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

更多
2014年12月13日 12:43 - 2014年12月14日 21:55 #7 作者: Suen
文章日期可用自定义别名解决(老白已经提到);对于ID问题,可以采用如下方法去除url里面的ID(我用joomla3.3.x为例):
第一步:打开编辑components/com_content/router.php(记得备份)
第二步:在components/com_content/router.php里面(可能有多处,都要改过来)
Change this:
$advanced = $params->get('sef_advanced_link', 0);
To this:
$advanced = $params->get('sef_advanced_link', 1);
第三步:
Change:
->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));
To:
->where($db->quoteName('alias') . ' = ' . $db->quote($segment));
第四步:清除系统缓存,ok
参考资料:http://rushtips.com/remove-id-from-url-in-joomla-2-5,原文和我的方法略有出入,我是在原文基础上经过实践检验得到,确认以上四步对joomla3.3.x可行。joomla2.5也可采用类似办法,具体看原文
最后修改: 2014年12月14日 21:55 由 Suen.

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

更多
2014年12月13日 20:29 #8 作者: Joomla之门
不推荐采用“直接修改 Joomla 核心源文件” 的方式。因为以后升级核心的时候,这些修改会被新版本的同名文件覆盖而丢失。

有很多第三方扩展都能轻松实现高级 SEF,也就是不含 ID 的伪静态。没有必要再去琢磨怎么修改源文件了。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

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

更多
2014年12月14日 22:10 #9 作者: Suen
老白的建议很有道理。但是我也是遇到奇葩的问题才会出此下策。
我本来一直使用Artio Joomsef,感觉挺好;但是后来发现,在安装了artio joomsef后,博客页面的“点击加载更多”功能失效,卸载arito joomsef后,一切又正常。所以就想到了重新使用joomla默认的sef,发现只要解决ID问题,joomla sef也已经足够强大,觉得没必要在增加aritio joomsef(一则增加系统负担,二则免费版的arito sef还需要更改组件代码才能去除版权信息)。

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

更多
2014年12月15日 07:22 #10 作者: Joomla之门
“点击加载更多” 这种按钮属于 AJAX pagination 设计。如果你发现 Artio JoomSEF 会导致 AJAX pagination 无法正常工作,我建议你在 JoomSEF 官方论坛提出反馈意见,或许他们可以改进功能。

安装任何第三方的 SEF 势必会增加系统负担,这是追求完美 SEF 必须付出的代价。权衡利弊,我认为是值得的。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

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