简体   繁体   English

IfDefine和RewriteBase不能很好地协同工作

[英]IfDefine and RewriteBase doesn't work well together

When I use this code, it works just okay: 当我使用此代码时,它可以正常工作:

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

But when I add this, it always uses RewriteBase \\ which was not what I want. 但是,当我添加它时,它总是使用RewriteBase \\ ,这不是我想要的。

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

The condition was already different. 条件已经不同了。 One of them when ServerBase is defined and one of them is when ServerBase is NOT defined. 定义ServerBase时之一,而未定义ServerBase时之一。 How can I use IfDefine else pattern with RewriteBase? 我如何在RewriteBase中使用IfDefine else模式?

IfDefine checks whether a parameter is defined or not. IfDefine检查是否定义了参数。 It doesn't check it's value. 它不检查它的值。

You need to use it as: 您需要将其用作:

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

<IfDefine !ServerBase>
    RewriteBase /
</IfDefine>

Note use of ServerBase instead of ${ServerBase} . 请注意使用ServerBase代替${ServerBase}

Check official Apache doc of IfDefine 查看IfDefine官方Apache文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM