Как переписать URL с %23 в нем?

У меня есть (Wordpress) блог, где после комментария пользователей перенаправляются назад к странице с привязкой к их комментарию. Должен быть похожим на это:

http://example.org/foo-bar/#comment-570630

Но так или иначе я получаю много 404 ins мои файлы журнала для таких URL:

http://example.org/foo-bar/%23comment-570630

Существует ли способ записать, что .htaccess переписывает правило зафиксировать это?

Вопрос о премии: Какая-либо идея, почему это происходит и что я могу делать с этим?

5
задан janpio 13 March 2010 в 13:34
поделиться

1 ответ

% 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).

4
ответ дан 15 December 2019 в 00:57
поделиться
Другие вопросы по тегам:

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