Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Joomla中将文章id添加到url的末尾?_Joomla_Joomla2.5 - Fatal编程技术网

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

如何在Joomla中将文章id添加到url的末尾?,joomla,joomla2.5,Joomla,Joomla2.5,目前,我的网站中的url的格式如下: 我需要将url的格式更改为以下格式: sed -i 's/\(http:\/\/[[:alnum:]]*\/[[:alnum:]]*\/\)\([[:digit:]]*\)-\([[:alpha:]]*\)/\1\3-\2/' *.php 也就是说,我想将文章Id在url中的位置更改为结尾 谁能帮我尽快完成此操作。如果别名可以是数字,则无法通过重写来完成此操作 http://www.website.com/category/1518-2013 将改写

目前,我的网站中的url的格式如下:

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

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

也就是说,我想将文章Id在url中的位置更改为结尾


谁能帮我尽快完成此操作。

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

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

将改写为:

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

在路由中造成歧义

您需要使用插件或破解路由器代码将自定义路由更改为Joomla


注意:如果您为了SEO目的在Joomla中更改SE友好URL的格式,那么将现有URL更改为将ID后缀到末尾将不会是一个显著的收益(如果有的话)。如果你在一个现有的网站上这样做,你可以期待负面的排名波动。如果您说为什么要更改URL格式,我可以提供解决“为什么”的替代方案和解决方案。

如果您使用linux或Cygwin并使用GNU,请尝试运行以下程序:

 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/' '{}' ';'