Apache форсирует косую черту до 301

Мы используем Apache (на Runcloud) за Cloudflare для перенаправления ссылок. Это сделано с.htaccess, настолько просто, насколько это возможно.

Redirect 301 /advertiser/google https://google.com

По какой-то причине Apache вызывает завершающую косую черту в конце каждого перенаправления, и некоторые URL-адреса, а именно те, которые не должны содержать конечную косую черту, не будут работать.

Как мне настроить Apache для перенаправления точно по URL в.htaccess?

1 ответ

Обратите внимание: перенаправление HTTP 301 "Перемещено навсегда" и поэтому будет кэшироваться как веб-браузерами, CDN, так и прокси-серверами, а также после того, как вы изменили или удалили Redirect директива вы все еще можете наблюдать эффекты старой настройки. Возможно, вам придется тестировать из нового анонимного окна браузера и / или очищать кеши после каждого изменения.

Второе: с Redirect любая информация о пути за пределами шаблона в пути URL, который вы перенаправляете, будет добавлена ​​к целевому URL.

Другими словами: с настройкой Redirect 301 /advertiser/google https://google.com запрос с более длинным путем http://example.com/advertiser/google/more должен быть перенаправлен Apache на https://google.com/more,

Когда запрос на http://example.com/advertiser/google перенаправляется на https://google.com/ (с добавленной косой чертой) наиболее вероятная причина в том, что что-то в вашей конфигурации сначала добавляет этот косой черты и преобразует запрос перед применением Redirect.

Вы можете обойти эффекты кэширования как из CDN облачного хранилища, так и из собственного веб-браузера, а также протестировать свою конфигурацию, отправляя запросы непосредственно на веб-сервер с помощью клиента командной строки, например, такого как:

 curl -v -H "Host: example.com" http://<real-IP-address-of-your-webserver>/advertiser/google

и сравнить это с

  curl -v http://example.com/advertiser/google
Другие вопросы по тегам