我有一个使用基本身份验证的.htaccess.似乎.htpasswd文件的路径与htaccess文件无关,而是与服务器配置相关.
因此即使我在同一目录中有.htaccess和.htpasswd文件,这也不起作用:
AuthType Basic
AuthName "Private Login"
AuthUserFile .htpasswd
Require valid-user
Run Code Online (Sandbox Code Playgroud)
但是,如果我将AuthUserFile更改为使用绝对路径,它确实有效:
AuthType Basic
AuthName "Private Login"
AuthUserFile "/home/user/public_html/mydir/.htpasswd"
Require valid-user
Run Code Online (Sandbox Code Playgroud)
但我更喜欢更具移动性的东西,因为我在不同领域的多个网站上使用它.我在网上搜索过但没有任何解决方案.是否可以使用相对路径或变量%{DOCUMENT_ROOT}
?
所以一个简单的,我永远无法找到一个直接的答案.
什么是更好的(表现或其他):
$var = false;
If ($a == $b) {
$var = true;
}
Run Code Online (Sandbox Code Playgroud)
要么
If ($a == $b) {
$var = true;
} else {
$var = false;
}
Run Code Online (Sandbox Code Playgroud)
我听说过两种方式都有争议.我发现第一个清洁器确保我设置它,并且代码也少一些.专业人士可能只需要在没有条件的情况下设置一次.但问题是,如果参数为真,则设置两次.
我假设第二种方式可能是最好的做法
我正在尝试遍历我传递给批处理文件的参数.根据参数,我想设置一个变量标志true或false,以便稍后在脚本中使用
所以我的命令是"myscript.bat/u/p/s"
我的代码是:
FOR /f %%a IN ("%*") DO (
IF /I "%%a"=="/u" SET UPDATE=Y
IF /I "%%a"=="/p" SET PRIMARY=Y
IF /I "%%a"=="/s" SET SECONDARY=Y
)
Run Code Online (Sandbox Code Playgroud)
它只有在我有一个参数时才有效,它告诉我它将整个参数列表作为单个参数.我试过"delims ="但无济于事.获得每个间隔参数的任何想法?
如何为其中一个参数添加一个值?
myscript.bat/u/p/d TEST/s
:loop
IF "%~1"=="" GOTO cont
IF /I "%~1"=="/u" SET UPDATE=Y
IF /I "%~1"=="/p" SET PRIMARY=Y
IF /I "%~1"=="/s" SET SECONDARY=Y
IF /I "%~1"=="/d" SHIFT & SET DISTRO="%~1"
SHIFT & GOTO loop
:cont
Run Code Online (Sandbox Code Playgroud)
但是与最后一个IF一致的SHIFT实际上并没有改变任何东西.DISTRO最终成为"/ d"而不是"TEST"
.htaccess ×1
.htpasswd ×1
batch-file ×1
dos ×1
for-loop ×1
if-statement ×1
php ×1
variables ×1