Перенаправление страницы с # на новую страницу

Я пытаюсь перенаправить http://www.example.com/#blog в http://www.example.com/blog в WordPress, но он не работает, поскольку часть /#blog считается частью главной страницы.

Вы столкнулись с этой проблемой раньше?

3 голоса | спросил Julia 13 TueEurope/Moscow2016-12-13T11:18:11+03:00Europe/Moscow12bEurope/MoscowTue, 13 Dec 2016 11:18:11 +0300 2016, 11:18:11

1 ответ


2
  

, так как /#blog рассматривается как часть главной страницы

Все после # называется идентификатором фрагмента . Эта часть URL-адреса (т. Е. blog в этом случае) фактически не отправляется на сервер (браузер отбрасывает ее из запроса) , поэтому вы не можете выполнять такую ​​переадресацию в своей серверной логике (т. е. регулярную переадресацию WordPress).

Идентификатор фрагмента можно обрабатывать только на стороне клиента. например. с JavaScript.

Может быть (возможно, есть) плагин WordPress, который будет выполнять переадресацию на стороне клиента для вас, или вы можете написать код JavaScript. Например:

<script>
if (location.href == 'http://www.example.com/#blog') {
    window.location.replace('http://www.example.com/blog');
}
</script>

Обратите внимание, что это не то же самое, что перенаправление HTTP. Клиент видит только 200 HTTP-статус HTTP, а не статус 3xx, который является обычным (и предпочтительным) с перенаправлением.

ответил DocRoot 13 TueEurope/Moscow2016-12-13T12:57:50+03:00Europe/Moscow12bEurope/MoscowTue, 13 Dec 2016 12:57:50 +0300 2016, 12:57:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132