У меня есть (Wordpress) блог, где после комментария пользователей перенаправляются назад к странице с привязкой к их комментарию. Должен быть похожим на это:
http://example.org/foo-bar/#comment-570630
Но так или иначе я получаю много 404 ins мои файлы журнала для таких URL:
http://example.org/foo-bar/%23comment-570630
Существует ли способ записать, что .htaccess переписывает правило зафиксировать это?
Вопрос о премии: Какая-либо идея, почему это происходит и что я могу делать с этим?
% 23
- это представление в кодировке URL #
. Я подозреваю, что ваши правила перезаписи не удовлетворят % 23
. Вы должны исследовать, как строится ответ. В частности, любые функции кодирования URL.
Однако проблему можно решить с помощью правила перезаписи. Имейте в виду, что после отправки комментария вы вернете клиенту два ответа. Вот почему предпочтительнее исправить первый ответ.
# http://example.org/foo-bar/%23comment-570630 -> http://example.org/foo-bar/#comment-570630
RewriteCond %{REQUEST_URI} %23comment-\d+$
RewriteRule (.+)\/%23-comment(\d+)$ http://host/$1/#comment-$2 [R=301]
Он не тестировался, но должен работать (я не уверен, что нужно экранировать \%
, поскольку он имеет особое значение в mod_rewrite).