У меня проблема с тем, что клиентам было отправлено маркетинговое электронное письмо со ссылкой на наш веб-сайт, но оно закончилось пробелом. Другими словами, это что-то вроде http://www.example.com/somepage/%20
. Отправка другого электронного письма с правильной ссылкой, вероятно, будет воспринята клиентами как спам, поэтому мы пытаемся исправить это со своей стороны.
Я попытался добавить правило перенаправления в .htaccess
, но он терпит неудачу еще до того, как дойдет до этой точки.
Журнал ошибок Apache показывает следующую ошибку:
(20024) Указанный путь неверно отформатирован или содержит недопустимые символы: невозможно сопоставить GET / cost-per-invoice-calculator /% 20 HTTP / 1.1 с файлом
Какие-либо предложения? Это Apache на сервере Windows, если это актуально ...
Похоже, это то, что было присвоено статусом WONTFIX командой Apache: https://issues.apache.org/bugzilla/show_bug.cgi?id=41441
.htaccess обрабатывается довольно поздно в игре, держу пари, что Cez делал это в своем httpd.conf, позволяя ему сработать до проверки плохого символа, которая запускается в пространстве.
Кроме того, если на ваш Apache работает какой-то балансировщик нагрузки, прокси-сервер или еще что-то, перезапись там определенно сработает.
Хорошо, это на сервере Linux, но, похоже, у меня нет проблем с перенаправлением URL-адреса, содержащего пробел:
RewriteEngine on
RewriteRule ^.*test\ $ / [R=301,L]
Это выполняет следующее перенаправление:
http://localhost/test%20 -> http://localhost/
РЕДАКТИРОВАТЬ: Да, согласно Эрнеста Мюллера комментарий, это в конфигурации сервера, а не в .htaccess