Я включаю это сообщение для полноты.
Документация Apache объясняет, почему это поведение происходит очень хорошо и является причиной, что директива 'RewriteBase' существует.
Просто включая директиву 'RewriteBase' в Вашем .htaccess файле должен достигнуть Вашего желаемого результата.
Пример:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Из документации Apache 2.2 mod_rewrite:
Директива RewriteBase явно устанавливает базовый URL для на каталог, переписывает.
Мое эмпирическое правило состоит в том, чтобы почти всегда использовать 'RewriteBase' в .htaccess файлах, а не использовать его в конфигурации Apache.
Вы пропускаете кавычки и надлежащую mysql клиентскую командную строку:
ssh -p 8899 root@$REMOTEIP "mysql -u root -p -e \"$SQL\""
Необходимо выйти из кавычек вокруг переменной $SQL, таким образом, они передаются удаленной оболочке, еще они интерпретируются локальной оболочкой (вот почему, Вы получаете ОТБРАСЫВАНИЕ: команда не нашла, полу двоеточие интерпретируется оболочкой.) Кроме того, чтобы иметь mysql клиент для выполнения команды необходимо передать-e параметр командной строки.
Вы уже включили $VARIABLES в кавычки (который является хорошей практикой и составляет пробелы в переменных/именах файлов), однако, Вы открываете и закрываете их всюду по строке - это работает хорошо (хотя не рекомендуемый) для присвоения переменной Bash, но когда Вы добираетесь до удаленной команды SSH, это перестало работать, поскольку это пытается выполнить переменную, для не заключения в кавычки включенной строки Вы обеспечили. Корректная команда SSH была бы:
$REMOTEIP ssh-p 8899 root@ "mysql-u базируются-p $SQL"
поскольку переменная уже "заключается в кавычки" кавычками для передачи аргумента.
Может быть легче заменить жемчугом и DBI для удара - никакая потребность разветвить mysql, укусил больше управления. Также t'internets замусорен учебными руководствами и примерами на "как к" - никакой смысл плавающий снова поток ;)