Перенаправление .htaccess - это работает для всех якорных ссылок на странице? - PullRequest
0 голосов
/ 18 января 2012

Я портирую много контента с сайта с обычными файлами на Wordpress и перенаправляю свой .htaccess для каждой страницы следующим образом:

redirect 301 /01-chapter1.html  http://www.mydomain.com/section1/chapter-1/

В этом контенте есть несколько якорных ссылок, определенных следующим образом:

<a name="106">Link 106</a>

У меня такой вопрос, будет ли перенаправление выше также обрабатывать эти якорные ссылки, так что якорь старой страницы:

http://www.mydomain.com/01-chapter1.html#106

перенаправляется на новый якорь страницы:

http://www.mydomain.com/section1/chapter-1/#106

Надеюсь, что это так и что мне не нужно реализовывать отдельные перенаправления для тысяч якорей: (* ​​1013 *

Заранее большое спасибо за совет.


ОТВЕТ

Ну, я реализовал оригинальное перенаправление, которое я разместил:

redirect 301 /01-chapter1.html  http://www.mydomain.com/section1/chapter-1/

Протестировал этот FF / IE / Chrome и по какой-то причине переадресация работает точно так, как я надеялся, без каких-либо дополнительных параметров.

внешние ссылки на:

http://www.mydomain.com/01-chapter1.html#106

отлично перенаправляют на ссылки якоря на странице:

http://www.mydomain.com/section-1/chapter-1/#106

Спасибо за хороший совет, но пока все хорошо!

1 Ответ

0 голосов
/ 18 января 2012

К сожалению, это не так. Проверьте это сообщение в блоге: http://www.mikeduncan.com/named-anchors-are-not-sent/

Вместо этого вы можете попытаться перенаправить клиентскую часть с помощью JavaScript.

изменить: Дополнительная информация:

Таблица 301 Redirect * содержит множество опций перенаправления. В сочетании с информацией, полученной из Можете ли вы написать перенаправление 301 в точку привязки? , означает, что мы можем написать что-то вроде:

RewriteRule ^01-chapter1.html(#.+)?$ /section1/chapter-1/$1 [R=301,NE]

Не совсем уверен в синтаксисе регулярных выражений, хотя, возможно, потребуется что-то еще.

...