如何重定向 URL?

How to redirect a URL?

我在 Silverstripe 网站上重定向 URL 时遇到问题。我有一个新闻提要页面,其中包含分页样式的文章摘要。它最初显示 20 篇文章,然后根据所选页码切换到下 20 篇。这只是标准的博客布局。当我点击第 2 页时,它应该导航到 https://*****/news/?count=20,对于第 3 页,它应该导航到 https://*****/news/?count=40 等。但是,单击博客页码后,它会导航到 https://*****/news/news/?count=20。所以导航 link 不是重写父 URL。

除此之外,我的所有其他 Silverstripe 网站都可以使用相同的博客布局正常工作,我看不出有任何理由调整默认代码。我想像这样添加 .htaccess 重定向

Redirect 301 /news/news/?start=20 https://******/news/?start=20

但我没有任何运气让它发挥作用。请为此建议我一个解决方案。

我期望的输出是重定向到右边URL

https://******/news/?start=20

这是一个简单的重定向规则,应该可以解决您描述的症状:

RewriteEngine on
RewriteRule ^/?news/news/(.*)$ /news/ [R=301,L]

但我怀疑这种方法是不是个好主意。仅仅是因为它试图解决症状,而不是原因。原因是您实际上创建了对包含 /news/news/ 问题的 URL 的请求,而这种情况永远不会发生。我假设这个问题的原因是你分发了 relative 引用(所以像 news/...)而不是 absolute 引用(/news/...).我强烈建议您处理原因而不是试图解决症状。