如何在Joomla中将文章ID添加到url的末尾?

时间:2013-11-25 15:32:51

标签: joomla joomla2.5

目前我网站的网址格式如下:

http://www.website.com/category/1518-alias

我需要将url的格式更改为以下内容:

http://www.website.com/category/alias-1518

也就是说,我想将网址中文章ID的位置更改为结尾。

任何人都可以帮助我尽快完成这项工作。

2 个答案:

答案 0 :(得分:0)

如果别名可以是数字,则无法通过重写来完成。

http://www.website.com/category/1518-2013

将被重写为:

http://www.website.com/category/2013-1518

导致路由模糊。

您需要使用插件或黑客路由器代码更改自定义路由到Joomla。

http://docs.joomla.org/Search_Engine_Friendly_URLs#tab=Implementation_Details

P.S。:如果您正在为Joomla更改Joomla中SE友好URL的格式,那么更改现有URL以将ID后缀到最后将不会是一个重要的收益,如果有的话。如果您在现有网站上执行此操作,则可能会出现负排名波动。如果你说为什么要改变URL的格式,我可以提供替代方案和解决方案来解决你的问题"为什么"。

答案 1 :(得分:0)

如果您使用的是linux或Cygwin并且拥有GNU sed,请尝试运行以下命令:

 sed -i 's/\(http:\/\/[[:alnum:]]*\/[[:alnum:]]*\/\)\([[:digit:]]*\)-\([[:alpha:]]*\)/\1\3-\2/' *.php

这告诉sed找到格式为“http:// [website] / [category] ​​/ [number] - [alias]”的所有字符串并交换[number]和[alias]字段,假设您的网站名称仅使用字母数字字符。

如果嵌套目录结构中有多个文件,则可以执行以下操作:

find /path/to/your/site/data -name '*.php' -exec sed -i 's/\(http:\/\/[[:alnum:]]*\/[[:alnum:]]*\/\)\([[:digit:]]*\)-\([[:alpha:]]*\)/\1\3-\2/' '{}' ';'