Доступ запрещен к веб-серверу Apache в NixOS

Как насчет использования switchили caseвот так:

#!/bin/sh

v="information"
case $v in
    *f*)
        echo "found \"f\" in ${v}";;
    *)
        echo "no match found in ${v}"
esac
exit

Обратите внимание, что если игла хранится в переменной, важно заключить ее в кавычки, чтобы она не воспринималась как образец:

case $haystack in
  *"$needle"*) echo match
esac

Без него, если бы $needleбыло, например, *или ?, это соответствовало бы любому стогу сена(и не -пустому стогу соответственно ).

В любом случае $needleне обязательно должен быть одиночным символом. Он будет работать с любой строкой.

Во многих оболочках это будет работать даже для любой последовательности не -нулевых байтов, даже если они не образуют допустимых символов, но не все будут разбивать символы. Например, байт 0xc3 не может быть найден таким образом в строке é, закодированной в UTF -8 (0xc3 0xa9 )в некоторых реализациях. И наоборот, некоторые оболочки могут найти iвнутри ξ, если локаль имеет кодировку BIG5 -HKSCS, где ξзакодировано как 0xa3 0x69 (, а iравно 0x69, как в ASCII ).

0
15.06.2019, 06:43
1 ответ

«Это потому, что HTTPD _ROOT и DocumentRoot, указанные в файле httpd.conf, похоже, указывают на каталог внутри /nix/store»,

Возможно. Также может быть так, что файла с именем index.htmlна самом деле нет ни в одном из так называемых -"DocumentRoot"

httpd.confимеет приоритет. Таким образом, любой файл за пределами должен быть включен из этого файла, чтобы изменить snazas внутри httpd.conf.

Любой морфологический ответ потребует от вас предоставления так называемого -«некоторого дополнительного описательного текста», о котором вы упомянули. Этот дополнительный текст, как правило, представляет собой описание , почему произошла эта неудача.

Наконец; зачем вам пытаться противоречить тому, что вы уже определили в httpd.conf? В текущем контексте это не имеет смысла.

ХТХ

1
28.01.2020, 02:40

Теги

Похожие вопросы