Я использую перепакованную версию apache, которая называется IHS (IBM HTTP Server). В основном так же, как Apache Web служат с другими функциями. Я пытаюсь выполнить правило перезаписи, чтобы скрыть сложный URL со строками запроса с сокращенным URL.
Первоначально, когда я впервые проверил это с флагом 'R', все работало нормально. Он смог сопоставить шаблон и ответ с правильным длинным URL-адресом путем перенаправления до окончательного URL-адреса.
Например: https://example.com/us/ABC/123 -> https://example.com/webapp/headerText=ABC&categoryId=123
Но после того, как я удалил флаг 'R', моя перезапись не удалась с сообщением "Файл не существует: / opt / IBM / HTTPServer / htdocs / dmcst / webapp". Я пытаюсь показать сокращенный URL, не указав пользователю полный URL. / Webapp / .. - это не локальный путь, а какой-то другой удаленный путь. Почему это не сработает для «переписать», но не «перенаправить»?
Перезаписать двигатель на
Alias / wcsstore "/opt/IBM/WebSphere/AppServer/profiles/dmcwcsst/installedApps/WC_dmcwcsst_cell/WC_dmcwcsst.ear/Stores.war"
Alias / wcs "/opt/IBM/WebSphere/AppServer/profiles/dmcwcsst/installedApps/WC_dmcwcsst_cell/WC_dmcwcsst.ear/CommerceAccelerator.war"
Псевдоним / статический "/ opt / IBM / content"
RewriteRule ^ / us / ([az]. ) / ([0-9]. ) /? $ / Webapp / wcs / stores / servlet / AcquisitionBrowseView? LangId = -1 & storeId = 10001 & catalogId = 10051 & headerText = $ 1 & categoryId = $ 2 [NC, R, L]