从 URL 中删除 ID(类别和文章)(Joomla 3.3 / 3.4 / 3.5)

2024-03-26

我有一个Joomla 3.3.6(编辑:3.5.)网站仅分为 3 层:

  • 四大类(i、ii、iii、iiii)
  • 每个类别都分为一些中间类别(A、B、C……)
  • 最后是文章
  • 两种语言(en、pt)

The URL设置后Search Engine Friendly URLs, Use URL rewriting, Adds Suffix to URL and multilanguage support, should采用以下形式:

http://www.example.com/en/bigcatiii/intercatA/articlex.html

但正如许多其他安装了 Joomla 并自 Joomla-Baby-Version 以来寻求解决方案的人一样,我得到了:

http://www.example.com/en/bigcatiii/666-intercatA/articlex.html

其中 666 是一个来自地狱的数字,表示毫无目的类别ID

现在浏览答案,我找到了这个答案:

 Edit “components/com_content/router.php“
 (You’ll probably have to re-do this step every time you update Joomla.)
 Replace the lines 38 and 290 with:
 $advanced = $params->get('sef_advanced_link', 1);

 and Replace line 426 with
 ->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment)); 

嗯,首先,第 426 行已经像原来的那样了。其次,这并不能解决问题。它适用于:

http://www.example.com/en/bigcatiii/intercatA/articlex.html

但它打破了智慧404如果您浏览到以下位置,则会出现错误:

http://www.example.com/en/bigcatiii/intercatA.html

另外,我注意到ID数字不同。虽然整个 URL 是

http://www.example.com/en/bigcatiii/666-intercatA/articlex.html

同类别描述页面是

http://www.example.com/en/bigcatiii/333-intercatA.html

还有另一种解决方案听起来更好,但也不起作用,基于.htaccess

RewriteEngine on
RewriteBase /
RewriteRule (\d+)-([^/]*) $2 [R=301,L]

The URLs显示正常,但找不到页面。如果我们能提供一个解决方案,那就更好了.htaccess而不是改变 Joomla 核心。

不过,如果其他谷歌搜索的建议有效的话,更改 Joomla 核心就可以了。

 Copy “components/com_content/router.php” to “/templates/your-template/html”

这意味着一旦你搬家router.php对于您的“本地”,升级后您无需重做所有内容。 (当然,除非 router.php 已更新,以防万一您最好再次镜像它。)

感谢您抽出时间来解决这个难题!

参考

1-更改/删除 URL 中的文章 ID? http://forum.joomla.org/viewtopic.php?t=398429

2- 删除商品 ID 号 http://www.hyde-design.co.uk/joomla-training/joomla-bites/146-removing-the-id-number-from-joomla-25-articles

4-从 joomla 3.0 的 url 中删除文章 ID http://forum.joomla.org/viewtopic.php?t=826165

5-启用 SEF http://docs.joomla.org/Enabling_Search_Engine_Friendly_%28SEF%29_URLs

6-从 joomla 3 URL 中删除文章 ID https://joomla.stackexchange.com/questions/988/remove-article-id-from-joomla-3-url

7-从 joomla 3 URL 中删除文章 ID https://stackoverflow.com/questions/23809575/remove-article-id-from-joomla-3-url

8-.htaccess 重定向规则 https://stackoverflow.com/questions/19877131/htaccess-redirect-rule-for-for-removing-article-id

9-测试.htaccess http://htaccess.madewithlove.be/


已编辑(2016 年 5 月 2 日):Joomla 最新版本 3.5 的新赏金


我刚刚新安装了 joomla 3.5,旧方法对我有用。由于路由器文件中的某些内容已被修改,因此您必须在 joomla 升级后重复此过程。

线路现在为 34 和 295./components/com_content/router.php.

再次更改0 into 1使其变为:

$advanced = $params->get('sef_advanced_link', 1);


我的网址是例如http://joomla.lan/en/category-en-gb/article-en-gb可以很好地配合Search Engine Friendly URLs on.

With Adds Suffix to URL切换到Yes an .html附加到 URL 后。
Use URL Rewriting and Unicode Aliases可选择工作。在 IIS7 或 Apache 上使用 URL 重写引擎时,必须重命名htaccess.txt into .htaccess and webconfig.txt into webconfig。请注意,某些托管服务商具有限制性的服务器配置。如果你得到一个500 internal server error,您可能需要编辑.htaccess并注释掉这些行Options +FollowSymlinks and/or Options -Indexes and/or RewriteBase /通过添加前面#。后者已在 Joomla 3.5 中停用。 ARewriteBase当 Joomla 安装在子文件夹而不是 Web 根目录中时,此设置很有用。

在其他服务器上设置Use URL Rewriting to No.


我无法重现您的问题,这两个代码编辑一切正常。请再试一次,如果无法解决,请发布确切的行为(网址、错误)。 如果无法修复它,您可能需要重新安装源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 URL 中删除 ID(类别和文章)(Joomla 3.3 / 3.4 / 3.5) 的相关文章

  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 我的设置未保存在 WordPress 主题选项页面中

    我正在尝试创建一个基于 WordPress 设置 API 的主题选项页面 当我在浏览器中检查 options php 页面时 例如http mysite com wordpress wp admin options php http mys
  • PHP strtotime() 未返回正确的月份

    由于当前月份 年份是 2012 年 1 月 为什么以下代码返回 2011 年 12 月而不是 2011 年 11 月 echo date F Y strtotime 2 months 如果有影响的话 这是在 PHP 5 3 0 上 要获得您
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • 在PHP中,如何在表格中显示数组内容

    如果我在 MySQL 客户端中进行选择 我将得到如下所示的输出 mysql gt select FROM group LIMIT 2 group id group supergroup id group deletable group la
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • 当第二个参数包含运算符号时,为什么 ltrim 会删除一个字符? [复制]

    这个问题在这里已经有答案了 If I do ltrim 53 34567 53 ltrim 53 34567 53 ltrim 53 34567 53 I get 4567作为结果而不是34567 这种行为的解释是什么 ltrim 53 3
  • 这是依赖注入吗?这是一种不好的做法吗?

    我有一个小框架 我是这样编码的 我不确定这是否称为依赖注入 我不知道它是否像设计模式 我也不知道并且想知道是否通过 this因为 param 是一种不好的做法 看看这个 不是一个有效的示例 只是将这些代码写入浏览器中以供解释 This is
  • 没有得到 popen 的完整回复

    嗨 我正在使用 popen 运行一个进程 handle popen python scriptos py r while feof handle data fgets handle echo gt data 我只从返回 5 行的进程中获取
  • 通过 PHP 连接到 socket.io(nodejs)

    我需要通过 php 连接到 websocket 发送数据并立即断开连接 无需等待套接字的响应 我用了大象io http elephant io 但更新库后不起作用 请告诉我如何通过 PHP 连接到 websocket 我也遇到了这个问题 学
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • 优化数据可视化 Web 应用程序的性能

    我正在重写 3 年前编写的数据可视化网络工具 从那时起 浏览器的 JavaScript 引擎变得更快 所以我正在考虑将部分工作从服务器转移到客户端 在页面上 数据在表格和地图 或图表 中可视化 它使用相同的数据 但以不同的方式 因此准备显示
  • laravel 5.3 新的 Auth::routes()

    最近开始使用laravel 5 3写博客 但是运行后出现一个问题php artisan make auth 当我运行这个时 它会在我的web php 这是其中的代码 Auth routes Route get home HomeContro
  • 从 PHP 生成渐变颜色

    我想知道如何构建一个给出颜色代码和 显示该颜色的渐变 例如 function generate color int colorindex Generate 10 pale colors of this color 请帮我 迈克尔引用的代码相
  • 检查一个类是否是另一个类的子类

    我想在不创建实例的情况下检查一个类是否是另一个类的子类 我有一个类 它接收类名作为参数 作为验证过程的一部分 我想检查它是否属于特定的类系列 以防止安全问题等 有什么好的方法可以做到这一点吗 is subclass of http php
  • PHP MVC 应用程序中哪里可以捕获异常?

    我有一个中小型 PHP 应用程序 用于练习 OOP 和 MVC 技能 我有初始化 引导程序调用的文件Router谁打电话控制器 gt 服务层 gt 存储库 数据库 然后将变量发送回视图层 所有依赖项均由 DiC IOC 处理 我创建抽象类
  • Doctrine2:入门教程“没有要处理的元数据类”

    我已经将本教程的第一部分运行了三遍 到目前为止 在这里或其他地方进行的大量搜索都无法帮助我使其发挥作用 我收到 没有要处理的元数据类 当我尝试时 php vendor bin doctrine orm schema tool update
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • 合并 csv 文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 PHP 或 joomla 中将多个 CSV 文件合并为一个 csv 文件 将文件夹中 csv 文件中的所有数据合并到文本文件中 通
  • 一些基本的 PHP 问题 [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是有一些基本的 php 问题来加深我对学习的理解 但我找不到简单的答案 我有一个 php ajax 应用程序 它生成 mysql

随机推荐