我正在构建一个使用Joomla的新网站,我选择了“搜索引擎友好URL”和“使用URL重写”在Global配置中,这提供了良好的SEF URL,但不是很完美!
如果指向页面的链接没有与其关联的菜单项,则URL如下所示:
Example.com/10-类别/5-文章
我希望使用htaccess删除数字和连字符,这样看起来如下:
Example.com/分类/文章
我在htaccess文件中重写了规则,如下所示:
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错误页面。
发布于 2012-11-22 14:33:55
这是一个盲目的猜测,Joomla可能需要这些数字才能知道应该提供哪些内容。它不能仅仅根据类别或文章的名称来判断(实际上,在大多数情况下,您甚至可以忽略它),但重要的是数字。
因此,当您在没有数字的情况下重写URL时,您请求的页面是Joomla不知道如何处理的页面,它会给您一个404。唯一的解决方案是编写一个插件或其他东西,将类别和文章的名称映射到相应的ID,但这并不容易。
关于SEO,我不认为网址中的数字有那么大的负面影响。如果你的其他网站的搜索引擎优化是好的,那么这将无关紧要。
https://stackoverflow.com/questions/13514817
复制相似问题