.htaccess перенаправить привязную страницу / страницу # привязка к URL-адресу

Как перенаправить ссылку на 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, если это ваша конечная цель.