.htaccess 重定向问题:新类别/文章结构/如何摆脱文章ID?

qybjjes1  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(107)

我想,这是一个简单的,但无论如何,我还没有想通。
在我的网站从Joomla 3迁移到Joomla 4后,分类和文章的结构会发生变化。这就是为什么我需要一些规则来重定向旧的URL到新的。
该网站托管在Apache服务器上。
旧的URL结构类似于此。
https://www.mydomain.de/category/subcategory/item/[articleID]-[articleAlias].html
[articleID]是一个数字。[articleAlias],例如“这是文章编号-233”
这应该被重定向到...
https://www.mydomain.de/newcategory/newsubcategory/[articleAlias].html
举个例子:
https://www.mydomain.de/category/subcategory/item/2324-this-is-my-latest-article.html
...应重定向到...
https://www.mydomain.de/newcategory/newsubcategory/this-is-my-latest-article.html
我已经尝试了RedirectMatch和Rewrite规则,但还没有成功地使它工作。我如何摆脱文章ID?
我最近的尝试失败了...

RedirectMatch ^category/subcategory/item/([0-9]+)-(.*)$  /newcategory/newsubcategory/$1

有简单而优雅的解决方案吗?提前感谢!
更新
也许事情比我想象的要复杂。
主要的问题是,不仅我的类别改变了,而且文章的id也改变了。
所以,继续我的例子...
https://www.mydomain.de/category/subcategory/item/2324-this-is-my-latest-article.html
首先会变成这样:
https://www.mydomain.de/newcategory/newsubcategory/1223-this-is-my-latest-article.html
无论如何,Joomla 4能够自动删除文章id(猜测与内部重写)为seo友好的URL。
https://www.mydomain.de/newcategory/newsubcategory/[articleAlias].html
[articleAlias]保持不变。

xytpbqjk

xytpbqjk1#

根据您实际询问的内容进行重定向应该是可能的:

RewriteEngine on
RedirectRule ^/?category/subcategory/item/[0-9]+-(.*)\.html$  /newcategory/newsubcategory/$1.html [R,L]

然而我怀疑这真的是你想要的:这将完全丢弃资源的数字ID。这意味着当重定向请求返回请求新的、剥离的URL时,它将无法用于处理。那么,在没有该ID的情况下,您希望如何在内部将该请求重新写回到内部资源?

wsewodh2

wsewodh22#

我做了一些测试,这是我的问题的最终解决方案:

RedirectMatch 301 ^/?category/subcategory/item/[0-9]+-(.*)\.html$ /newcategory/newsubcategory/$1.html

相关问题