0

.htaccess我有一个关于使用该文件重写 URL 的问题。

我不太了解编写 htaccess 文件所需的符号和语法,所以我非常感谢任何帮助。

系统信息 Joomla 2.5.9 网站 我使用 K2 2.6.2 创建我的内容 当我使用 K2 为我的博客创建内容时,我填写了“标题别名 (URL)”

HTACCESS QUERY 举个例子,我写了一篇文章叫 Top 10 Joomla Extensions 标题别名 URL 是:top-10-joomla-extensions

当我在前端查看文章时,URL 是: http : //www.pixelfire.com.au/website-and-graphic-design-blog/item/121-top-10-joomla-extensions

我想通过删除来清理此 URL:item/121 - 我还有许多其他具有不同 ID 号的项目 URL,我也想删除。所以我需要的代码需要删除我博客中每个项目的 ID 号。

每个博客项目 URL 都有单词项目/项目 ID 号。示例 item/121- 理想情况下,我想用破折号删除单词 item 和项目编号。

希望有人可以帮助我编写.htaccess代码来实现这一点并向我解释它是如何工作的。

非常感谢您提前。尼尔。

4

2 回答 2

0
RewriteEngine On
RewriteRule ^(.*)item/(\d+\-)?(.*) /$1$3 [R=301,L]

RewriteRule 的工作原理如下:“RewriteRule”之后和之前的Space任何内容都是我们的规则,之后的任何内容都是我们Space要做什么

所以: RewriteEngine On打开引擎

RewriteRule告诉阿帕奇,开始魔法。其余的是正则表达式声明。

^- 从字符串的开头开始 (.*)- 获取您想要的任何内容并将其放入变量$1 item/(\d\-)?中 - 确保item/后跟数字和破折号的字符串存在,但不是必须的。确保它占据了$2变量。问号说“可能在那里,但不必”。 (.*)- 获取后面的任何内容,并将其存储在变量中$3

然后你说,重定向到: $1$3它连接存储在变量中的字符串$1$3(跳过项目/887878-)

最后是括号。R=301意思是,用 301 标题重写并L说:这是你需要做的最后一件事。停在这里重新加载。

于 2013-03-11T08:35:44.700 回答
0

您想安装一个 sef 组件,例如 sh404sef 或 joomsef,它会覆盖 joomla 的默认路由器并为您提供更多配置选项

于 2013-03-11T15:11:09.977 回答