Как перенаправить ссылку на page/page#anchor
http://www.example.com/page/page
.
Я попробовал следующий код, но он не работает
RewriteRule ^page/page#anchor http://www.example.com/page/page [NE,L]
Не могли бы вы мне помочь?
Питер
Это невозможно сделать на стороне сервера, поскольку компонент URI после #
обрабатывается только клиентской стороной.
Вы также можете использовать этот код Javascript, чтобы сделать то же самое:
<script> if (location.href.indexOf("#") > -1) { location.assign(location.href.replace(/(page\/page)#anchor/i, "$1")); } </script>
Я считаю, что данные после #
считаются фрагментом. Данные фрагмента не отправляются на сервер. Поэтому вы не можете захватить его с помощью modrewrite.
флаг NE
может позволить вам захватить ^/page/page
и перенаправить на http://www.example.com/page/page#anchor
но она не будет работать наоборот.
Простая замена JavaScript заменит ссылки и позволит пользователям нажимать на них. Но это не поможет вам в SEO, если это ваша конечная цель.