繁体   English   中英

如何重定向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。 因此,导航链接不会重写父URL。

除此以外,我所有其他Silverstripe网站都可以在相同的博客布局下正常运行,而且我看不出有任何理由来调整默认代码。 我想到添加这样的.htaccess重定向

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

但是我没有运气能使它工作。 请给我一个解决方案。

我期望的输出是重定向到正确的URL

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

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

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

但是我怀疑这种方法是个好主意。 仅仅是因为它试图解决症状,而不是原因。 原因是您实际上创建了对包含/news/news/问题的URL的请求,该请求永远不会发生。 我认为导致该问题的原因是您分发了相对引用(例如news/... )而不是绝对引用( /news/... )。 我强烈建议您处理原因,而不要尝试解决症状。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM