首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTACCESS RewriteRule更改URL但给出了404页

HTACCESS RewriteRule更改URL但给出了404页
EN

Stack Overflow用户
提问于 2012-11-22 14:30:31
回答 1查看 287关注 0票数 3

我正在构建一个使用Joomla的新网站,我选择了“搜索引擎友好URL”和“使用URL重写”在Global配置中,这提供了良好的SEF URL,但不是很完美!

如果指向页面的链接没有与其关联的菜单项,则URL如下所示:

Example.com/10-类别/5-文章

我希望使用htaccess删除数字和连字符,这样看起来如下:

Example.com/分类/文章

我在htaccess文件中重写了规则,如下所示:

代码语言:javascript
复制
RewriteRule ^([0-9]+)-(.*)/([0-9]+)-(.*)$ /$1$2/$3$4 [R=301,L]
RewriteRule ^([0-9]+)(.*)/([0-9]+)(.*)$ /$2/$4 [R=301,L]

浏览器地址栏现在显示了我想要的URL,example.com/分类/文章,但是页面显示一个404错误!

是不是和Joomla SEF有关?

我做错了什么?

*Update*删除连字符的第一个RewriteRule只工作正常,只有当两个RewriteRule都处于活动状态时,我才会收到404错误页面。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-22 14:33:55

这是一个盲目的猜测,Joomla可能需要这些数字才能知道应该提供哪些内容。它不能仅仅根据类别或文章的名称来判断(实际上,在大多数情况下,您甚至可以忽略它),但重要的是数字。

因此,当您在没有数字的情况下重写URL时,您请求的页面是Joomla不知道如何处理的页面,它会给您一个404。唯一的解决方案是编写一个插件或其他东西,将类别和文章的名称映射到相应的ID,但这并不容易。

关于SEO,我不认为网址中的数字有那么大的负面影响。如果你的其他网站的搜索引擎优化是好的,那么这将无关紧要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13514817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档