IfDefine и RewriteBase плохо работают вместе

Когда я использую этот код, он работает просто хорошо:

<IfDefine ${ServerBase}>
    RewriteBase ${ServerBase}
</IfDefine>

Но когда я добавляю это, он всегда использует RewriteBase \ что было не то, что я хочу.

<IfDefine !${ServerBase}>
    RewriteBase /
</IfDefine>

Состояние было уже другое. Один из них, когда ServerBase определен, и один из них, когда ServerBase НЕ определен. Как я могу использовать шаблон IfDefine else с RewriteBase?

1 ответ

IfDefine проверяет, определен ли параметр или нет. Это не проверяет это значение.

Вы должны использовать его как:

<IfDefine ServerBase>
    RewriteBase ${ServerBase}
</IfDefine>

<IfDefine !ServerBase>
    RewriteBase /
</IfDefine>

Обратите внимание на использование ServerBase вместо ${ServerBase},

Проверьте официальный документ Apache оIfDefine

Другие вопросы по тегам