Как перенаправить URL? - PullRequest
0 голосов
/ 10 января 2019

У меня проблема с перенаправлением URL-адреса на веб-сайте Silverstripe. У меня есть страница новостной ленты с кратким изложением статей в стиле нумерации страниц. Первоначально он отображает 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

1 Ответ

0 голосов
/ 10 января 2019

Вот простое правило перенаправления, которое должно исправить описанный вами симптом:

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

Но я сомневаюсь, что такой подход - хорошая идея. Просто потому, что он пытается исправить симптом, а не причину. Причина в том, что вы фактически создаете запросы к URL, которые содержат проблему /news/news/, которая никогда не должна возникать. Я предполагаю, что причиной этой проблемы является то, что вы раздаете относительных ссылок (что-то вроде news/...) вместо абсолютных ссылок (/news/...). Я настоятельно рекомендую вам устранить причину, а не пытаться устранить симптом.

...